Pyinstaller3.5,python3.6,pyqt5.9打包过程
- 1. Pyinstaller3.5
-
- 2. 我自己写的python项目的层次结构
- 3. 打包过程及遇到的问题
-
1. Pyinstaller3.5
由于python版本是3.6,使用pyinstaller3.4时(安装方法:pip install pyinstaller)报了很多错(原因不知道),所以在网上搜了一圈,最终实测pyinstaller3.5顺利完成打包。
1)pyinstaller3.5的安装
- git clone https://github.com/pyinstaller/pyinstaller.git;
- 将下好的文件放到Y:\Conda\Lib\site-packages(这个是我的anaconda路径)下;
- 运行python setup.py install;
**注意事项:**安装之前请先卸载pyinstaller(如果已经安装的话)
2. 我自己写的python项目的层次结构
网上很多解答都是针对一个python文件或者多个python文件(但只在一个路径下),而我们一般做的项目肯定会有很多python文件并且也会有很多文件夹,所以当时特别困扰我,不知道他们的方法适不适合我,后面发现还是一样的命令(pyinstaller 主文件.py,可以加一些参数,实现不同的需求)
3. 打包过程及遇到的问题
3.1 打包代码
pyinstaller QT_show_camera.py 我没加很多参数(这个有空总结一下每个参数的用法)
3.2 过程中遇到的坑
- 解决pyinstaller打包遇到AttributeError: ‘str’ object has no attribute 'items’的问题 https://blog.csdn.net/jylonger/article/details/86537290
- pyinstaller打包报错: RecursionError: maximum recursion depth exceeded,UnicodeDecodeError
https://blog.csdn.net/sinat_32651363/article/details/82841026https://blog.csdn.net/sinat_32651363/article/details/82841026 - Pyinstaller打包出现UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 解决方案:在你打包的命令行中先输入chcp 65001 然后再输入打包命令。
- 使用opencv读取视频,但是打开失败
将 C:\Anaconda3\Lib\site-packages\cv2\opencv_ffmpeg341_64.dll这个动态链接库复制到生成的exe的目录下。
参考https://blog.csdn.net/windows_peng/article/details/81285658?utm_source=blogxgwz8