创建虚拟环境并打包Python项目是一个确保项目依赖清晰且可执行文件体积较小的有效方法。以下是简化后的步骤:
创建虚拟环境
使用 python -m venv
创建虚拟环境,并指定提示符。
创建虚拟环境并指定提示符
python -m venv .venv --prompt nonebot2
python -m venv myenv (命名虚拟环境)
激活虚拟环境
Linux/macOS
source .venv/bin/activate
Windows
.venv\Scripts\activate
安装依赖库
安装项目所需的库,并使用 requirements.txt
文件来管理依赖。
# 安装项目依赖
pip install DrissionPage
# 生成依赖列表文件
pip freeze > requirements.txt
# 根据依赖列表文件安装依赖
pip install -r requirements.txt
使用 PyInstaller 打包项目
安装 PyInstaller
。
pip install pyinstaller
打包项目为单个可执行文件。
通过使用 --exclude-module 选项,您可以根据项目的实际需求来排除不必要的模块,从而减小程序的体积并提高性能。
pyinstaller --onefile --exclude-module _bootlocale --windowed main.py
pyinstaller --onefile --icon=icon.ico --windowed Auto.py
打包依赖文件或者文件夹
pyinstaller --name=DcAutoGui --onefile --windowed --add-data "DCAssetsAuto.py;." DcAutoGui.py
DCauto为依赖的包文件夹
pyinstaller --name=main --onefile --windowed --add-data "DCauto;DCauto" main.py
验证打包结果
验证生成的可执行文件是否能够正确运行。
Linux/macOS
./dist/main
Windows
dist\main.exe
清理临时文件
清理打包过程中产生的临时文件。
Linux/macOS
rm -rf build dist __pycache__ *.spec
Windows
rmdir /S /Q build dist __pycache__ *.spec
退出虚拟环境
完成打包后,退出当前激活的虚拟环境。
deactivate
优化打包结果(可选)
使用 UPX 压缩可执行文件。
安装 UPX
sudo apt update
sudo apt install upx-ucl
压缩可执行文件
upx --best dist/main
评论区