当前位置: 代码迷 >> 综合 >> Pyinstaller3.5,python3.6,pyqt5.9打包过程
  详细解决方案

Pyinstaller3.5,python3.6,pyqt5.9打包过程

热度:54   发布时间:2023-10-12 10:15:31.0

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的安装

  1. git clone https://github.com/pyinstaller/pyinstaller.git;
  2. 将下好的文件放到Y:\Conda\Lib\site-packages(这个是我的anaconda路径)下;
  3. 运行python setup.py install;
    **注意事项:**安装之前请先卸载pyinstaller(如果已经安装的话)

2. 我自己写的python项目的层次结构

网上很多解答都是针对一个python文件或者多个python文件(但只在一个路径下),而我们一般做的项目肯定会有很多python文件并且也会有很多文件夹,所以当时特别困扰我,不知道他们的方法适不适合我,后面发现还是一样的命令(pyinstaller 主文件.py,可以加一些参数,实现不同的需求)
Pyinstaller3.5,python3.6,pyqt5.9打包过程

3. 打包过程及遇到的问题

3.1 打包代码

pyinstaller QT_show_camera.py 我没加很多参数(这个有空总结一下每个参数的用法)

3.2 过程中遇到的坑

  1. 解决pyinstaller打包遇到AttributeError: ‘str’ object has no attribute 'items’的问题 https://blog.csdn.net/jylonger/article/details/86537290
  2. pyinstaller打包报错: RecursionError: maximum recursion depth exceeded,UnicodeDecodeError
    https://blog.csdn.net/sinat_32651363/article/details/82841026https://blog.csdn.net/sinat_32651363/article/details/82841026
  3. Pyinstaller打包出现UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 解决方案:在你打包的命令行中先输入chcp 65001 然后再输入打包命令。
  4. 使用opencv读取视频,但是打开失败

    将 C:\Anaconda3\Lib\site-packages\cv2\opencv_ffmpeg341_64.dll这个动态链接库复制到生成的exe的目录下。
    参考https://blog.csdn.net/windows_peng/article/details/81285658?utm_source=blogxgwz8