目录
报错1:UndefinedEnvironmentName: 'extra' does not exist in evaluation environment
报错2:from .cv2 import * ImportError: numpy.core.multiarray failed to import
报错4:打包完成后,运行时显示FileNotFindError
报错1:UndefinedEnvironmentName: 'extra' does not exist in evaluation environment
解决方法:1.可以看看pip版本是否过时,更新后重新安装pyinstaller
2.尝试更新一下setuptools
#查看pip版本
pip --version
#如果版本过老,可以尝试一下命令进行更新
pip install --upgrade pip
#重新安装pyinstaller
pip uninstall pyinstaller
pip install pyinstaller
#更新setuptools
pip install --upgrade setuptools
报错2:from .cv2 import * ImportError: numpy.core.multiarray failed to import
解决方法:这里卡了很久,网上查询的方法大多与numpy版本相关,可以尝试降低numpy版本(我尝试了没有用)。
#降低numpy版本
pip install numpy==1.18.0
最终解决的方式是conda了一个python3.6.8(原来的python版本为3.9.x),重新安装所需要的包,再进行打包运行就不报这个错了。
#查看当前虚拟环境列表
conda info -e
#创建对应python版本的虚拟环境,其中Evn为虚拟环境名称,可以自定义
conda create -n Env python=3.6.8
#激活虚拟环境,Evn对应自己设定的名称
conda activate Evn
#查看当前python版本
python --version
注意:切换conda环境时,不要在powershell中进行,需要在cmd中进行,不然切换不动。成功切换后路径前面会有一个小括号,里面时对应的环境名。
报错3:点击exe文件一闪而过,看不到输出
解决方法:可能跟打包时的python版本有关,可以在cmd中切换至当前exe所在的文件夹目录下
直接输入exe文件的文件名(需要有exe后缀),点击enter后可观察到输出。
cd 填入文件夹路径
.\打包后的文件名
报错4:打包完成后,运行时显示FileNotFindError
解决方法:在运行pyinstaller打包命令时,使用--add-data 参数将提示错误的文件添加进去。
pyinstaller 进行打包的文件名.py -D --add-data "添加的文件名;." #如有多个文件需要添加,可以多次使用--add-data