这是我的第一个帖子,所以别对我太客气。我的问题和这里类似,但我做不到,尽管我真的尝试过: “py2exe with enthought and pandas”。
在使用库分别安装了两个版本的python(x84-64,x32)之后,我开始使用py2exe制作python脚本的可执行文件。
我不得不下载丢失的dll文件:msvcp90.dll、libiomp5md.dll、libifcoremd.dll、libmmd.dll。
我创建的Exe文件返回错误并生成日志文件—与x32和x64 python&;库不同。
对于32位python&;库,我得到了以下日志文件(根据我从哪个numpy库安装的不同而有所不同:http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy)
对于numpy-1.8.0-win32-superpack-python2.7,我收到了以下倍数的信息:
File "gui.py", line 7, in <module>
File "pyqtgraph\__init__.pyc", line 177, in <module>
File "pyqtgraph\__init__.pyc", line 167, in importAll
File "pyqtgraph\__init__.pyc", line 159, in importModules
Traceback (most recent call last):
File "gua.py", line 7, in <module>
File "pyqtgraph\__init__.pyc", line 180, in <module>
File "pyqtgraph\imageview\__init__.pyc", line 6, in <module>
File "pyqtgraph\imageview\ImageView.pyc", line 20, in <module>
File "pyqtgraph\imageview\ImageViewTemplate_pyqt.pyc", line 159, in <module>
File "pyqtgraph\widgets\PlotWidget.pyc", line 10, in <module>
File "pyqtgraph\graphicsItems\PlotItem\__init__.pyc", line 1, in <module>
File "pyqtgraph\graphicsItems\PlotItem\PlotItem.pyc", line 32, in <module>
File "pyqtgraph\graphicsItems\PlotDataItem.pyc", line 4, in <module>
File "pyqtgraph\graphicsItems\PlotCurveItem.pyc", line 4, in <module>
File "scipy\stats\__init__.pyc", line 324, in <module>
File "scipy\stats\stats.pyc", line 242, in <module>
File "scipy\special\__init__.pyc", line 531, in <module>
File "scipy\special\_ufuncs.pyc", line 12, in <module>
File "scipy\special\_ufuncs.pyc", line 10, in __load
File "_ufuncs.pyx", line 1, in init scipy.special._ufuncs (scipy\special\_ufuncs.c:19840)
ImportError: No module named _ufuncs_cxx
对于numpy MKL-1.8.0.win32-py 2.7:
Traceback (most recent call last):
File "gui.py", line 2, in <module>
File "numpy\__init__.pyc", line 154, in <module>
File "numpy\add_newdocs.pyc", line 9, in <module>
File "numpy\lib\__init__.pyc", line 13, in <module>
File "numpy\lib\polynomial.pyc", line 17, in <module>
File "numpy\linalg\__init__.pyc", line 48, in <module>
File "numpy\linalg\linalg.pyc", line 23, in <module>
File "numpy\linalg\lapack_lite.pyc", line 12, in <module>
File "numpy\linalg\lapack_lite.pyc", line 10, in __load
ImportError: DLL load failed: %1 is not a valid Win32 application.
对于numpy-MKL-1.7.2rc1.win32-py2.7,我收到了如上所述的结果,但是倍增了。
对于64位python&;库,我得到了与scipy和numpy版本无关的以下信息:
File "gui.py", line 7, in <module>
File "pyqtgraph\__init__.pyc", line 177, in <module>
File "pyqtgraph\__init__.pyc", line 167, in importAll
File "pyqtgraph\__init__.pyc", line 159, in importModules
Traceback (most recent call last):
File "pyqtgraph\__init__.pyc", line 155, in importModules
File "pyqtgraph\graphicsItems\PlotDataItem.pyc", line 4, in <module>
File "pyqtgraph\graphicsItems\PlotCurveItem.pyc", line 4, in <module>
File "scipy\stats\__init__.pyc", line 324, in <module>
File "scipy\stats\stats.pyc", line 242, in <module>
File "scipy\special\__init__.pyc", line 531, in <module>
File "scipy\special\_ufuncs.pyc", line 12, in <module>
File "scipy\special\_ufuncs.pyc", line 10, in __load
File "_ufuncs.pyx", line 1, in init scipy.special._ufuncs (scipy\special\_ufuncs.c:19992)
ImportError: No module named _ufuncs_cxx
我在..\build\bdist.win-amd64\winexe\collect-2.7\scipy\special中确实有一些ufuncs文件,但我不确定它是如何工作的,或者应该如何工作。
我该怎么做才能让这些.exe正常工作呢?最好是64位python,因为用32位python在SciTe中运行代码打开程序需要很长时间,而且内存过载。
编辑:
从setup.py中删除import numpy, pyqtgraph, scipy
后,会得到以下日志文件,其中包含错误:
File "gui.py", line 7, in <module>
File "pyqtgraph\__init__.pyc", line 177, in <module>
File "pyqtgraph\__init__.pyc", line 167, in importAll
File "pyqtgraph\__init__.pyc", line 159, in importModules
Traceback (most recent call last):
File "pyqtgraph\__init__.pyc", line 155, in importModules
File "pyqtgraph\graphicsItems\PlotDataItem.pyc", line 4, in <module>
File "pyqtgraph\graphicsItems\PlotCurveItem.pyc", line 2, in <module>
File "scipy\fftpack\__init__.pyc", line 97, in <module>
File "scipy\fftpack\basic.pyc", line 12, in <module>
File "scipy\fftpack\_fftpack.pyc", line 12, in <module>
File "scipy\fftpack\_fftpack.pyc", line 10, in __load
ImportError: DLL load failed: %1 is not a valid Win32 application.
在使用py2exe创建.exe文件时,我收到了相同的错误消息
它是通过在setup.py中的
includes
选项中添加scipy.special._ufuncs_cxx
来解决的。 这是我有的。请注意,它包括一些其他设置,以防止与numpy/scipy相关的错误。
scipy.sparse.csgraph._validation
我用PyInstaller比Py2exe更成功。在PyInstaller中,通过显式添加引用来解决问题:
PyInstaller还负责matplotlib混乱和Visual Studio dll。
从distutils.core导入设置
导入py2exe
安装程序(console=['hello.py'])
编辑:此处不包括任何其他库/模块
下一个命令:
python hello.py py2exe
相关问题 更多 >
编程相关推荐