[Python]pyinstaller打包32位exe小记
2020-11-27 本文已影响0人
与安君
由于媳妇工作中需要大量表格,故利用Python开发一个处理Excel表格的小工具(目前第一版本功能比较少,bug比较多)。本人开发环境是在Mac系统下,然后在window下打包成64位和32位通用的exe程序,本文主要介绍打包过程中的流程和注意事项。
初学过程中,如有纰漏,望指正。
一 打包环境
- Windows 7 64位旗舰版
- 32位Python3.8.6
- 32位pywin32库
- pyinstaller4.1
- pandas、xlrd、xlwt...(这是我开发中用到的库,与打包无关)
二 打包流程
- 提前下载32位python3.x,32位pywin32,pyinstaller文件
- 安装32位python3.x
- 安装32位pywin32至32位python3.x文件夹目录下,然后cmd命令进入该文件夹下,执行
python3 ./Scripts/pywin32_postinstall.py -install
- 将pyinstaller解压至32位python3.x文件目录下,然后cmd命令至pyinstaller文件夹下,执行
python setup.py install
命令 - 将功能代码文件放入pyinstaller文件夹下
- 逐个安装功能代码中依赖的库,执行
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn module_name
, module_name即库名称 - 打包:运行命令
python32 pyinstaller.py -F xx.py
三 注意事项
- 若电脑上已有64位python版本,建议将32位python.exe重新命名,例如改为python32.exe,后续执行命令皆用python32指明Python版本
- 基本的Windows指令,进入文件夹指令(绝对路径)
:d/python32/pyinstaller/
- pyinstaller解压后嵌套了一个同样命名的文件夹,需删除
- 若电脑之前没有Python环境,系统会提示需要升级一下
pip
版本,按照提示的指令执行(类似pip install --upgrade pip
的命令,没有截图,后续补充) - 采用传统的
pip install xxxx
会速度奇慢,所以推荐采用国内镜像按照,指令严格按照上述步骤6 - requirement.txt上的依赖库是我在Mac导出的,但是根据名称发现,在win32环境并不适用,所以需要手动安装(Windows虚拟环境未研究,后续补充)
- 如果出现报错
ERROR:Cannot unpack file xxxx
,则是因为下载失败引起的,采用国内镜像即可解决,指令严格按照上述步骤6 - 安装指令比较常用的选项是:
-w
:去除指令命令行窗口;-n xxxx
指定名称(会在pyinstaller目录下创建一个同名的文件夹,exe文件会在这个文件夹下的dist文件夹内,默认是脚本名称);
四 资源
- win32打包全家桶(即32位Python3.8.6、32位pywin32、pyinstaller4.1,下载速度要快一些):链接: https://pan.baidu.com/s/1w5pimYfOgVcEAcFJNvgl5A 提取码: yexy
- 本人Excel处理小工具GitHub地址:https://github.com/LuckyStrike-zhou/excel_helper
小工具事例
参考资料
pyinstaller在64位系统下打包32位程序
Python PyInstaller安装和使用教程(详解版)
解决python使用pip安装下载库出现错误:ERROR:Cannot unpack file xxxx情况
Python脚本生成单个EXE文件