博客
关于我
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 多进程-进阶-进程间通信之Queue
查看>>
Python编程快速入门
查看>>
Python编程基础(附Pycharm与开发环境)
查看>>
python 如何“否定“value : 如果为真则返回假,如果为假则返回真
查看>>
Python 如何在 Web 环境中使用 Matplotlib 进行数据可视化
查看>>
python 如何把字符串转换成浮点数
查看>>
python 如果文件夹不存在就创建文件夹
查看>>
Python 如果有很多或以收缩形式
查看>>
Python 子进程 Popen 与 Pyinstaller
查看>>
Python 子进程 Popen.communicate() 等价于 Popen.stdout.read()?
查看>>
Python 子进程 Popen:为什么会出现“ls *.txt“?不行?
查看>>
Python 子进程参数
查看>>
python 字典 key 和value 互换
查看>>
Python 字典 vs If 语句速度
查看>>
python 字典sorted自定义排序,按照key or value排序
查看>>
python 字典和列表区别_元组列表和字典的主要区别是什么?
查看>>
python 字符串中特定字符替换,截取
查看>>
Python 字符串总结
查看>>
python 字符串显示中文_Python字符串开头的b"、u"、r"与中文乱码
查看>>
Python 字符串的几种拼装方式
查看>>