Python Pyinstaller 打包程序及遇到的问题总结

一、如何打包py程序

1、安装打包模块

pip install pyinstaller

2、定义保存包的路径 CMD ,CD

  比方:把最终*.exe运行文件,保存到H盘 install 文件夹下。

  输入: H:    CD   [自己定义文件名]

 3、打包生成

红字是我的py程序所在路径,--noconsol 是屏蔽黑色的控制窗口。

pyinstaller -F E:\PythonProgram\CSV\Call.py --noconsol

注意:*.py的路径中,文件夹中可以有中文,但是不能有空格。不然打包时报错。

      

执行命令后,exe文件自动生成在H盘下,build 文件可以删除掉。

       

4、给exe增加图标

pyinstaller   -i E:\PythonProgarm\CSV\sun.ico   -F E:\PythonProgarm\CSV\Call.py --noconsole

这里需要注意,程序复制到桌面才会有显示,另外上面的名字也可以写程序  pyinstaller -F  -i sun.ico  E:\PythonProgarm\CSV\Call.py --noconsole 前提是*.ico需要和*.py文件在同一文件夹下。

5、指令含义

 一些常用的功能参数,官方手册可参考:https://pyinstaller.readthedocs.io/en/stable/ 

    

 二、打包程序遇到的一些问题

问题1:关于32位和64位系统

如果是64位环境打包的程序,只能给64位的电脑使用。如果需要在32位电脑上运行怎么办呢?

    比较粗暴的方法是:使用2台电脑一台构建32位的环境,一台构建64位的环境。如果需要在64位电脑上同时打包

下面这里有另外博主的一些方法可以参考。

转载链接: https://www.hellomao.top/2019/05/25/python_pyinstaller/ 

                   https://blog.csdn.net/allan2222/article/details/88035116

问题2:运行中出现 :ImportError: unable to find Qt5Core.dll on PATH

这个问题主要是PyQt5 bug导致的,按照一些方法添加PyQt5到系统变量表中,问题没有解决。我又再网上查了一些其它方法。

解决方案:参考链接:https://blog.csdn.net/zwyact/article/details/99778898

代码前加以下代码或者使用更新版本的PyQt5

import sys, os
if hasattr(sys, 'frozen'):
    os.environ['PATH'] = sys._MEIPASS + ";" + os.environ['PATH']

 问题3:安装不上PyQt5  5.13

执行以下命令 安装不上pyqt5

pip install PyQt5    -i https://pypi.douban.com/simple

解决方案:降低Python 版本,我自己测试安装32位Windos系统的Python 3.8 版本,在pip pyqt5 时,CMD安装不上,

安装Pytnon 3.7 版本没有问题。

猜你喜欢

转载自www.cnblogs.com/siyun/p/11738431.html