项目背景:
公司使用内部局域网台式机【离线】,因此只能通过虚拟机查阅资料下载所需的支持类库。python生成exe工具通常使用pyinstaller工具打包py文件和对应支持的类库。如果直接打包系统当前的python解释器环境通常会包含环境内的所有包,这会造成打包的exe工具特别大。因此我们可以先使用python内创建虚拟环境,在虚拟环境中安装程序所需的包,然后再在虚拟环境中打包exe工具的方式规避这一问题。
关键词如下:
pipreqs
python虚拟环境
pyinstaller
生成exe工具流程整理:
- 获取xxx.py程序的支持包列表
$pipreqs ./ --encoding=utf8 --force --use-local
- 虚拟机下载对应的支持包
$pip download -r requirements.txt
- 创建python虚拟环境
my_test_venv
:
$python -m venv my_test_venv
- 进入创建的环境
$cd my_test_venv/Scripts/ $activate
- 在
my_test_venv
虚拟环境中安装py支持包
$pip install -r requirements.txt
- 在该环境中打包exe
$pyinstaller -F xxx.py