Pyinstaller с Pyside2 и Matplotlib не работает - PullRequest
0 голосов
/ 22 января 2019

Я не получаю никакого исполняемого файла для работы с использованием Pyinstaller, Pyside2 и Matplotlib (PyQtGraph).

Я пробовал разные версии Python (3.5, 3.6, 3.7), последний выпуск и версию Pyinstaller для разработки, последние Pyside2 и последние версии Matplotlib. Последний «успех», который у меня был, - это создание исполняемого файла (dir или onefile не изменяет результат) для Matplotlib (3.0.2) или PyQtGraph (разработка 0.11) на python 3.5, pyside2 (5.12.0), но при попытке запуска появляется следующая ошибка:

ImportError: нет модуля с именем 'numpy.core._dtype_ctypes' [11856] Не удалось выполнить скрипт Pyside2PyQTGraph

Когда я делаю только пример Pyside2 только с меткой, все работает как положено. Я также попробовал --hidden-import numpy, но это не помогло. Я могу поделиться исходным кодом, конечно. Кроме того, я бы предпочел использовать Matplotlib, но PyQtGraph тоже подойдет.

Что еще мне осталось попробовать? Что я делаю неправильно? Кстати, я использую Windows 10.

from PySide2.QtWidgets import QWidget, QApplication,QVBoxLayout
import sys
from matplotlib.backends.backend_qt5agg import FigureCanvas as Canvas
from matplotlib.figure import Figure
from matplotlib import rcParams



class MatplotlibWidget(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        self.canvas = Canvas(Figure())
        vertLayout = QVBoxLayout()
        vertLayout.addWidget(self.canvas)
        self.setLayout(vertLayout)
        self.axes = self.canvas.figure.add_subplot(111)



if __name__ == "__main__":
    qapp = QApplication(sys.argv)
    app = MatplotlibWidget()
    app.axes.plot(range(12), range(12))
    app.show()
    qapp.exec_()

1 Ответ

0 голосов
/ 28 января 2019

Кажется, проблема в текущем выпуске numpy (1.16.0).Понижение numpy через

python -m pip install numpy==1.15.0

решило это для меня.

...