博客
关于我
python编译exe同时支持32位_第三周:同时管理64位和32位版本的Python,并用Pyinstaller打包成exe...
阅读量:801 次
发布时间:2023-03-07

本文共 688 字,大约阅读时间需要 2 分钟。

Pyinstaller打包成的exe文件运行依赖操作系统。32位exe可以在32位与64位系统运行,而64位exe仅限运行于64位环境中。

因工作需求,电脑需安装32位Python3.8。经历了诸多波折,电脑上Python版本混乱不堪。尝试将vscode解释器设置为32位Python3.8时,编译出现错误:"ImportError: DLL load failed while importing win32api: %1 不是有效的 Win32 应用程序。"这源于库(wmi)安装的是64位版本,而新装的32位Python与之前版本存在纠缠,导入仍用64位库导致失败。

经过查阅资料,首先清理电脑上无关的Python版本。注意到C盘Roaming文件夹中有奇怪的python文件夹,疑为pip导向处,决定彻底删除相关文件。

使用pip list发现所有库已恢复至解放前状态,决定重新安装。为区别新旧版本,32位Python将Scripts中pip.exe改名为pip32.exe,并复制外部python.exe为python32.exe,以解决pip找不到Python.exe的问题。

运行cmd命令验证路径,确认所有指令正确指向。通过pip32安装必要库后,在vscode中运行无误。

打包时发现,尽管已添加PATH,但Pyinstaller只在64位Python文件夹搜索,导致错误。查阅资料,找到解决方法:使用指定32位Python版本运行Pyinstaller。

最终,使用"python32 -m Pyinstaller -F readID.py"命令成功打包。

转载地址:http://xjofk.baihongyu.com/

你可能感兴趣的文章
python gRPC测试helloworld
查看>>
python list,str的拼接与转换
查看>>
python matplotlib简单使用
查看>>
python os.system
查看>>
Python os.system执行多条语句,os.system的返回值以及与os.popen的区别
查看>>
Python os和sys模块
查看>>
python os文件/目录
查看>>
Python Package 之 Faker(随机姓名、电话)
查看>>
python pandas TimeStamps到夏令时的本地时间字符串
查看>>
Python Pandas 用顶行替换标题
查看>>
Python Pandas-从DataFrame按类别绘制多个条形图
查看>>
Python PyQt5 将不再显示此消息复选框添加到 QMessageBox
查看>>
Python PyQt5:如何使用 PyQt5 显示错误消息
查看>>
Python pytest 面试题!
查看>>
Python pytz 时区函数返回一个相差 9 分钟的时区
查看>>
python rabbitmq实现简单/持久/广播/组播/topic/rpc消息异步发送可配置Django
查看>>
Python random和json模块
查看>>
Python random模块seed理解
查看>>
python range()函数
查看>>
Python rdflib可传递查询
查看>>