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

2021-10-27指定PyInstaller打包的Python版本

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

2021-10-27指定PyInstaller打包的Python版本

前言:如果PyInstaller 的打包版本与开发环境的版本不一致,比如打包版本比开发环境的低,就会出现不能import某个模块的问题。例如:importError: cannot import name ‘Final’ from ‘typing’。这个时候需要使用某个特别的Python版本去打包。

1 安装指定Python版本的PyInstaller

这里要确定Python版本。

# 通常的PyInstaller安装方式
pip install pyinstaller

# 安装Python2.x的PyInstaller
py -2 -m pip install pyinstaller
# 安装Python3.9的PyInstaller
py -3.9-64 -m pip install pyinstaller

版本确认命令:

pyinstall help
# 输出例子1。这里可以看到使用的Python版本 help这里可以是任意的词汇
D:>pyinstaller help
1087 INFO: PyInstaller: 4.5.1
1088 INFO: Python: 3.7.0 (conda)
1092 INFO: Platform: Windows-10-10.0.19041-SP0
1093 INFO: wrote D:help.spec
1102 INFO: UPX is not available.
script 'D:help' not found
# 输出例子2  help可以是其它
D:>C:UsersmarkAppDataLocalProgramsPythonPython39scriptspyinstaller.exe help
75 INFO: PyInstaller: 4.5.1
75 INFO: Python: 3.9.5
96 INFO: Platform: Windows-10-10.0.19042-SP0
1093 INFO: wrote D:help.spec
1102 INFO: UPX is not available.
script 'D:help' not found
2. 使用指定Python版本下的PyInstaller路径进行打包
# 格式
PyInstaller your_script.py

# Windows例子 
C:UsersmarkAppDataLocalProgramsPythonPython39scriptspyinstaller.exe -F -w --disable-windowed-traceback -i app.ico -p C:UsersmarkAnaconda3Libsite-packages;C:UsersmarkAnaconda3envsguiappLibsite-packages main.py

选项解释:
-F, --onefile:打包成一个文件
-w, --windowed, --noconsole: 无控制台
–disable-windowed-traceback :无控制台输出

在本人的例子中,由于开始使用默认的Python3.7版本来打包程序,由于低于开发 环境的版本3.9,就出现了“importError: cannot import name ‘Final’ from ‘typing’”的运行时错误。需要安装Python3.9的PyInstaller,并用新安装的PyInstaller 才能正确打包。

参考:How to change python version for use with pyinstaller

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

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

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