一、如何打包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 版本没有问题。

Python Pyinstaller 打包程序及遇到的问题总结的更多相关文章

  1. python pyinstaller 打包程序报错解决

    python打包exe,各种入坑 一.安装PyInstaller 1.安装pywin32 pip命令安装:pip install pywin32(推荐) 2.安装Pyinstaller pip命令安装 ...

  2. pyinstaller打包程序 带图片

    首选说一下,这种打包方式只能在本电脑上使用运行正常 准备:.py文件:你的程序 gif文件:你要用的图片 第一步: 在上面文件所在目录打开cmd 输入 pyi-makespec FP.py 会生成一个 ...

  3. 关于pyinstaller打包程序时设置icon时的一个坑

    关于pyinstaller打包程序时设置icon时的一个坑     之前在用pyinstaller打包程序的时候遇到了关于设置图标的一点小问题,无论在后面加--icon 或是-i都出现报错.查了下st ...

  4. python 使用pyinstaller打包程序

    使用pyinstaller 打包.py脚本,在其他计算机可以直接运行,不需要python环境 安装pyinstaller库 pip install pystaller 打包程序 pyinstaller ...

  5. Python: pyinstaller打包exe(含file version信息)

    最近项目上一直都是用Spyder直接运行.py文件的方式来执行每日的自动化程序,每天都要手动去点击Run来执行一次,所以考虑把.py文件直接打包成exe,然后用windows的task schedul ...

  6. Python进阶-打包程序为exe

    操作系统:win7 x64 运行环境:Python3.5 安装PyInstaller 第一步:下载PyInstaller https://github.com/pyinstaller/pyinstal ...

  7. Pyinstaller 打包程序为可执行文件exe

    Pyiinstaller打包 pyinstaller是python的一个第三方模块,使用它可以将pythnon程序打包为可执行文件,实现打包后的程序在没有python环境的机器上也可以运行.pyins ...

  8. python pyinstaller 打包exe报错

    今天用python 使用pyinstaller打包exe出现错误 环境pyqt5 + python3.6 在导入pyqt5包之前加上如下代码 import sysimport osif hasattr ...

  9. Python PyInstaller 打包报错:AttributeError: 'str' object has no attribute 'items'

    pyinstaller打包时报错:AttributeError: 'str' object has no attribute 'items' 网上查询,可能是setuptools比较老: 更新一下 p ...

随机推荐

  1. Codeforces Round #594 (Div. 2)

    传送门 C. Ivan the Fool and the Probability Theory 题意: 给出一个\(n*m\)的方格,现在要给方格中的元素黑白染色,要求任一颜色最多有一个颜色相同的格子 ...

  2. NOIP 2016 玩具谜题

    洛谷 P1563 玩具谜题 洛谷传送门 JDOJ 3136: [NOIP2016]玩具谜题 D1 T1 JDOJ传送门 Description 小南有一套可爱的玩具小人, 它们各有不同的职业. 有一天 ...

  3. angular6 升级到 angular7+ 最新Ng-zorro

    angular7 出来有一段时间了,然后我们项目一直用的是angular6, 看到一直再用的Ng-Zorro 更新版本了,然后就觉得把目前的项目也升级一下把. 目前我本地cli版本是6.0.8我要把他 ...

  4. JS模仿腾讯图片新闻

    仿照腾讯图片新闻的幻灯,功能并不完全一样.最开始打算做这个的时候,突然觉得好像做不来.想想如果一步一步,一个功能一个功能的做应该能搞定. 我做这个例子的思路是这样的: 先把需要的html和css代码写 ...

  5. 【转】Ubuntu 16 安装 python 依赖出现 error: command 'i686-linux-gnu-gcc' failed with exit status 1

    问题 在 Ubuntu 下安装 python 依赖的时候出现以下错误 build/temp.linux-i686-3.5/_openssl.c:498:30: fatal error: openssl ...

  6. LeetCode 217:存在重复元素 Contains Duplicate

    题目: 给定一个整数数组,判断是否存在重复元素. Given an array of integers, find if the array contains any duplicates. 如果任何 ...

  7. IT兄弟连 Java语法教程 综合案例

    1.案例需求 编写程序,模拟斗地主游戏洗牌和发牌的流程. 2.应用知识 ●  数组的声明 ●  数组的遍历 ●  for循环 ●  if-else分支结构 3.需求解析 模拟斗地主游戏洗牌和发牌,需要 ...

  8. mysql压缩备份导入导出

    mysqldump工具自带选项没有对导出备份文件压缩功能,可结合gzip只使用一条命令压缩导出文件,方法如下: mysqldump压缩导出:# mysqldump -h192.168.0.3 -P33 ...

  9. Java泛型类型擦除与运行时类型获取

    Java的泛型大家都知道是类型擦除的方式实现的,“编译器会进行泛型擦除”是一个常识了(实际擦除的是参数和自变量的类型).“类型擦除” 并非像许多开发者认为的那样,在 <..> 符号内的东西 ...

  10. 【CF933E】A Preponderant Reunion(动态规划)

    [CF933E]A Preponderant Reunion(动态规划) 题面 CF 洛谷 题解 直接做很不好搞,我们把条件放宽,我们每次可以选择两个相邻的非零数让他们减少任意值,甚至可以减成负数(虽 ...