自己在使用pythonInstaller对python文件进行打包的时候,出现无法运行的问题
第一打包:执行代码
无黑窗口程序
pyinstaller -F mainwindow.py
在build打包完成后:
无法运行,准确的说是闪退…
调整打包参数——无黑窗口程序:
Pyinstaller -F -w mainwindow.py
定位到最后一句话:
Traceback (most recent call last):
File "mainwindow.py", line 13, in <module>
from out_window import Ui_OutputDialog
File "" , line 1007, in _find_and_load
File "" , line 986, in _find_and_load_unlocked
File "" , line 680, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
File "out_window.py", line 11, in <module>
import face_recognition
File "" , line 1007, in _find_and_load
File "" , line 986, in _find_and_load_unlocked
File "" , line 680, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
File "face_recognition\__init__.py", line 7, in <module>
File "" , line 1007, in _find_and_load
File "" , line 986, in _find_and_load_unlocked
File "" , line 680, in _load_unlocked
File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
File "face_recognition\api.py", line 20, in <module>
RuntimeError: Unable to open C:\Users\12294\Desktop\mainwindow\face_recognition_models\models\shape_predictor_68_face_landmarks.dat
程序没能打开关联的一个库文件—face_recognition_models下的文件
这里说明一下,该项目的环境是在anaconda中完成的,也就是说我们打包的程序缺失了face_recognition_models这个库
那么去anaconda的该环境看一下:
将整个文件夹复制到我们打包出的根目录下即可
这个问题也是后续执行exe文件遇到的:
以我的项目为例,项目结构如下:
这里在执行完pyinstaller后,观察发现,除了项目中的.py文件被打包,其他的文件(qt.ui文件,图片文件等关联的文件)并没有被打包
把缺失的文件移入打包后的文件夹即可
最后执行,完美运行