具有Pyside2和Matplotlib的Pyinstaller无法正常工作

时间:2019-01-22 10:48:00

标签: matplotlib pyinstaller pyside2

我没有使用Pyinstaller,Pyside2和Matplotlib(PyQtGraph)来运行任何可执行文件。

我尝试了不同的Python版本(3.5、3.6、3.7),最新版本和Pyinstaller开发版本,最新Pyside2和最新Matplotlib版本。我拥有的最新“成​​功”是在python 3.5,pyside2(5.12.0)上为Matplotlib(3.0.2)或PyQtGraph(development 0.11)创建一个exe文件(dir或onefile不会更改结果),但是当我尝试启动时会发生以下错误:

ImportError:没有名为“ numpy.core._dtype_ctypes”的模块 [11856]无法执行脚本Pyside2PyQTGraph

当我仅使用标签仅做一个Pyside2示例时,一切都按预期工作。我也尝试了--hidden-imports 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 :(得分:0)

当前的numpy版本(1.16.0)似乎有问题。通过

降级numpy

python -m pip install numpy==1.15.0

为我解决了。