问题
最近做了一个yolov4对施工建材的检测项目,在将检测代码打包成exe文件(使用的pyinstaller -F xxx.py
)并移植到其他的电脑后,双击exe文件只有黑屏然后报错退出,不能运行,报错如下图所示。
问题原因
一开始我根据报错以为是numba库没有装好,但是重新装了并重新生成exe文件也没有解决问题。后来查阅了相关资料了解到可能是因为安装了Anaconda的原因,使得打包过程中一些相关的库没有打包完全。解决办法是通过创建一个虚拟环境然后将所需要的库重新安装好,再进行打包。
解决方法
1、在需要创建虚拟环境的地方创建一个新的文件夹(记住位置),在pycharm中进入解释器选择界面,选择创建虚拟环境。
我这里已经创建好了虚拟环境,所以提示目录不是空的。
2、Alt+F12打开pycharm的终端窗口,使用cd将路径切换到创建虚拟环境的文件夹(进入script中),然后键入activate,于是终端前面出现一个包含虚拟环境名字的括号,表明已经**虚拟环境。
3、根据代码中需要的模块进行pip安装(需要先升级pip,使用python -m pip install -U pip),将所有需要的模块都安装好之后,确保程序能够正常运行,再使用pyinstaller -F xxx.py
进行打包。注意现在的路径是虚拟环境中,打包程序的话需要通过cd将路径切换到代码所在路径。
4、再次打包好的exe文件移植到其他电脑上能够正常使用了。