Anaconda|记录一次pyinstaller打包出现的问题


pyinstaller打包无法运行的问题

  • 问题详细
    • 解决
      • Tips小问题(缺失mainwindow.ui)
      • 解决

问题详细 自己在使用pythonInstaller对python文件进行打包的时候,出现无法运行的问题
第一打包:执行代码
无黑窗口程序
pyinstaller -F mainwindow.py

在build打包完成后:
Anaconda|记录一次pyinstaller打包出现的问题
文章图片

无法运行,准确的说是闪退…
调整打包参数——无黑窗口程序:
Pyinstaller -F -w mainwindow.py


在执行exe文件后出现:
Anaconda|记录一次pyinstaller打包出现的问题
文章图片

定位到最后一句话:
Traceback (most recent call last): File "mainwindow.py", line 13, in 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 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 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 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的该环境看一下:
Anaconda|记录一次pyinstaller打包出现的问题
文章图片

将整个文件夹复制到我们打包出的根目录下即可
Tips小问题(缺失mainwindow.ui)
【Anaconda|记录一次pyinstaller打包出现的问题】这个问题也是后续执行exe文件遇到的:
以我的项目为例,项目结构如下:
Anaconda|记录一次pyinstaller打包出现的问题
文章图片

这里在执行完pyinstaller后,观察发现,除了项目中的.py文件被打包,其他的文件(qt.ui文件,图片文件等关联的文件)并没有被打包
解决
把缺失的文件移入打包后的文件夹即可
最后执行,完美运行

    推荐阅读