Pyinstaller 打包PyQt5写的界面遇到的一些坑和问题

github:https://github.com/xiaoboxie/labelImg    

这是fork了别人的项目自己改了点用于多标签标注

改完后想用pyinstaller 打包给其他小伙伴用。(也尝试了py2exe, cxfreeze,有点麻烦还出了点问题,就果断用pyinstaller)

环境:python3.6.6  64位,PyQt5, Windows10

(事先将PyQt5加入环境变量中,方便后面的操作和以后的使用。)

进到要转换py文件文件夹,打开命令窗口输入 

pyinstaller -Fw myfile.py

 简单解释下:F是表示生成单一文件, w是表示去掉打开文件时的dos窗口


这是在Ubuntu16.04(anaconda自带的python3.6.2)上发生的错误,恕我愚钝,找了一上午资料没能解决,希望有人能给我解答下,不胜感激

OSError: Python library not found: libpython3.6mu.so.1.0, libpython3.6m.so.1.0, libpython3.6.so.1.0
This would mean your Python installation doesn't come with proper library files.
This usually happens
 by missing development package, or unsuitable build parameters of Python installation.
* On Debian/Ubuntu, you would need to install Python development packages
  * apt-get install python3-dev
  * apt-get install python-dev
* If you're building Python by yourself, please rebuild your Python with `--enable-shared` 
(or, `--enable-framework` on Darwin)



转windows上试试,

遇到了WinError:[Error 5],WinError: [Error 13]等错误,参考https://blog.csdn.net/u014465934/article/details/73065723, 我遇到Error13是因为--paths参数前少了一个-(加入环境变量中可以不用管这个参数了)

转成功,但是命令窗口一闪而过没有下文了,也不知道报什么错了,这里建议用cmd运行exe文件,进到exe文件所在目录在直接键入exe文件名回车,就能看到报错了,一般的错误会是什么no moudule, 但是你自己import一下却没有报错(如果报错了去安装下)

解决方法:

1. 在命令后面加上 --hidden-import ***,缺几个加几个

2.在你的py文件中import一下

重新运行pyinstaller -Fw myfile.py,再cd ./dist ,myfile.exe发现还是一样的错误,解决方法:删掉myfile.exe再试一次;建议不要import 太多没用的库,就算你是

try:
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    from PyQt5.QtWidgets import *
except ImportError:
    from PyQt4.QtGui import *
    from PyQt4.QtCore import *
在转的时候还是会import PyQt4, 我的环境是PyQt5,果断删掉PyQt4部分就好了,而且可以节省很多空间

你可能感兴趣的:(python)