栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python打包exe可执行程序及常见问题

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python打包exe可执行程序及常见问题

1. 打包exe文件 1)安装pyinstaller 打包成exe文件需要使用pyinstaller模块,可通过pip安装 pip install pyinstaller 2)打包 常用参数(重点为加粗的参数): -F  制作独立的可执行程序(即生成单一的可执行文件,而不是多个) -p        添加搜索路径,以便找到依赖文件(import引入的文件,注意不是模块,默认会在当前                   目录查找) -w    制作窗口程序(制作带界面的程序时,不加该参数,运行时会弹出黑框) -c  制作命令行程序(默认) --icon=[ico文件路径]         指定程序图标(也可以使用-i 图片名.ico) -v [指定文件]                      指定程序版本信息 -n [指定程序名]                  指定程序名称(不指定则为源文件的名称) -D  制作出的档案存放在同一个文件夹下(默认值) -K  包含TCL/TK(对于使用了TK的,最好加上这个选项,否则在未安装TK的电脑上无法运行) -X  制作使用UPX压缩过的可执行程序(推荐使用这个选项,需要下载UPX包,解压后upx.exe             放在Python(非PyInstaller)安装目录下,下载upx308w.zip) -o DIR  指定输出SPEC文件路径(这也决定了最后输出的exe文件路径) ps: 打包完成后会生成两个目录,dist和build,生成的exe文件位于dist目录,build目录没用可删除 制作ico图标的链接 在线生成透明ICO图标——ICO图标制作 ,下载ico图标的链接: https://www.easyicon.net/ 3)示例 ①制作不带图标的,非窗口程序
pyinstaller -F test.py
②制作带图标的,非窗口程序
pyinstaller -F -i favicon.ico ControlAccess.py
③制作带图标的窗口程序
pyinstaller -F -w -i favicon.ico ControlAccess.p
注意:生成的带图标的exe文件,需要离开当前目录才会显示图标 2. 常见问题 1) 提示缺少numpy.random.common 用pyinstaller打包时出错: failed to execute script 文件名 错误提示: no module named 'numpy.random.common' 解决方法: 该问题是由于numpy版本导致,降低版本后问题解决:
pip uninstall numpy
pip install numpy==1.16.2        //安装指定版本numpy模块
2) unknown encoding: idna 解决方法,在代码开头导入:
import encodings.idna注:只在被打包的py文件中导入idna即可,其引用的其他文件无需关心
3) 正常打包,但exe程序执行时报FileNotFoundError 报错如下,以 _cffi_backend为例: FileNotFoundError:[Errno 2] No such file or dirctory:'xx:\anaconda3\lib\site-packages\_cffi_backend.pyd' 原因是打包的时候这个包没有被隐式打包进去 解决方法:打包时添加如下--hidden-import参数,值为缺少的包的名称。
pyinstaller -F --hidden-import=_cffi_backend  test.py
4) 多进程代码重复启动 将包含多进程的代码打包为exe时,程序重复执行,直至内存耗尽。这是fork()在windows上的缺点。解决办法是在main()最前面执行freeze_support()
from multiprocessing import freeze_support

if __name__ == "__main__":
    freeze_support()
    # 之后再执行多进程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/961453.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号