步骤一:
下载安装与自己python版本一致的pyinstaller
python3.7版本的下载地址
步骤二:
将pyinstaller文件拷贝到python的根目录下(不具体展示,因为每个人的python根目录不同)。
步骤三:
在cmd中进入pyinstaller文件夹下,使用python setup.py build和
python setup.py install命令安装pyinstaller库,等待安装完成,当出现Finished processing dependencies for PyInstaller==4.0.dev0+a1f92c6a08即表示安装成功。
步骤四:
使用pip show pyinstaller查看安装的pyinstaller信息。
步骤五:
使用pyinstaller打包python程序,打包命令:pyinstaller -F new_members.py,最后面显示successfully表示打包成功。
步骤六:
打开你的python根目录下有一个dist文件夹,打开后就可以看到一个打包好的exe文件。
下面是我在运行exe程序时遇到的问题及解决方法,供大家参考
问题一:ModuleNotFoundError:No module named typedefs之类的问题
在打包之后 当前目录下有个xx.spec文件。在里面将
hiddenimports=[]
修改为:
hiddenimports=[‘cython’,‘sklearn’,‘sklearn.neighbors.typedefs’,‘scipy._lib.messagestream’](即提示缺什么模块,就把该模块给加到这里面)
在python根目录的Scripts目录下运行以下命令
pyinstaller xx.spec
然后再在dist目录下重新运行exe程序就可以了。
问题二:DistributionNotFound
这个问题主要是缺少对应的hook文件导致的,找到你pyinstaller的安装目录,进入hooks文件夹,创建类似于hook-xxx.py文件xxx为你的报错缺少的模块,打开加入一下代码:
from PyInstaller.utils.hooks import copy_metadata
datas = copy_metadata(‘xxx’)
然后重新执行:
pyinstaller -D xxx.py
问题三: 缺少dll的问题
直接在的python或者anaconda环境里搜索你缺少的dll文件名字,直接拖到你的exe文件夹下即可。
问题四:缺少资源或者资源加载出错
把缺少的或者加载出错的资源直接复制到dist目录下即可。
希望以上内容可以对大家有所帮助,使大家少走弯路,如果还有其他问题,欢迎留言,我们一起讨论!