使用 pyinstaller warnout missing module 将 python3.5 代码转换为 exe 文件

convert python3.5 codes to exe file using pyinstaller warnout missing module

我正在使用 pyinstaller 将我的 python 3.5 程序转换为 exe 文件,这是我的环境: system:windows 10 python:python 3.5,正是我安装的 Anaconda3-4.2.0-Windows-x86_64.exe pyinstaller:3.2 我已经在pyinstall文件

中复制了myfile.py

然后我在 cmd 中 运行:

cd C:\Program Files\Anaconda3\Scripts
pyinstaller.exe -F myfile.py

代码运行成功,我得到2个文件夹

C:\Program Files\Anaconda3\Scripts\build
C:\Program Files\Anaconda3\Scripts\dist

在 "C:\Program Files\Anaconda3\Scripts\dist" 中,我得到一个 myfile.exe ,当我 运行 它时出现错误,发生错误:

Traceback (most recent call last):
   File "site-packages\PyInstaller\loader\rthooks\pyi_rth_pkgres.py", line  11, in <module>
   File "c:\program files\anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 389, in load_module
   exec(bytecode, module.__dict__)
   File "site-packages\setuptools-27.2.0-py3.5.egg\pkg_resources\__init__.py", line 68, in <module>
   File "site-packages\setuptools-27.2.0-py3.5.egg\pkg_resources\extern\__init__.py", line 61, in load_module
ImportError: The 'appdirs' package is required; normally this is bundled with this package so if you get this warning, consult the packager of your distribution.
Failed to execute script pyi_rth_pkgres

我检查了 C:\Program Files\Anaconda3\Scripts\build\myfile\warnout.txt 中的日志,然后得到这样的警告:

missing module named PyQt5.QtCore.QCoreApplication - imported by PyQt5.QtCore, c:\program files\anaconda3\lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_qt5plugins.py
missing module named PyQt5.QtCore.QIODevice - imported by PyQt5.QtCore
missing module named PyQt5.QtCore.QBuffer - imported by PyQt5.QtCore
missing module named PyQt5.QtGui.QPixmap - imported by PyQt5.QtGui
missing module named PyQt5.QtGui.QImage - imported by PyQt5.QtGui
missing module named PyQt5.QtGui.qRgba - imported by PyQt5.QtGui
missing module named 'PyQt5.sip' - imported by c:\program files\anaconda3\lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_qt5plugins.py
missing module named numpy.infty - imported by numpy, scipy.sparse.linalg.isolve.lsmr
missing module named numpy.finfo - imported by numpy, scipy.sparse.linalg.isolve.minres, scipy.optimize.slsqp, scipy.optimize.minpack, scipy.optimize.zeros
missing module named numpy.inner - imported by numpy, scipy.sparse.linalg.isolve.minres
missing module named pandas.core.base.NoNewAttributesMixin - imported by pandas.core.base, pandas.core.strings, pandas.tseries.common, pandas.core.categorical
missing module named pandas.core.base.PandasDelegate - imported by pandas.core.base, pandas.tseries.common, pandas.core.categorical
missing module named pandas.core.base.AccessorProperty - imported by pandas.core.base, pandas.core.strings

有很多这样的警告,我也尝试了一些类似的代码,如:

pyinstaller.exe -F "myfile.py"
pyinstaller.exe --onefile "myfile.py"
pyinstaller.exe -F -p C:\Program Files\Anaconda3\Lib\site-packages\pandas myfile.py   #(-p options like this)

但我也得到了相同的结果(没有错误发生,但发生警告,并且exe文件无法使用)

我该怎么办?谢谢!

我刚刚解决了,就这样吧:

先安装pyinstaller

pip install pyinstaller

因为如果用pyinstaller.exe安装pyinstaller,你可能会缺少一些依赖包。然后

pip unistall pyinstaller

是的,你就是这么做的。 然后,从

下载 pyinstaller 开发版本

https://github.com/pyinstaller/pyinstaller

然后,解压 zip 文件,运行 在文件中执行命令,

python setup.py install

没关系......