【最佳实践】py文件需要调用exe文件和dll文件,如何打包成exe文件
(最佳实践):创建一个库文件夹
当依赖的 DLL 数量较多时,最好的方法是把它们统一管理起来。
第一步:整理项目结构
- 在你的项目文件夹
my_app
中,创建一个新的子文件夹,比如叫libs
或dlls
。 - 将你找到的所有
helper.exe
依赖的 DLL 文件,全部复制到这个libs
文件夹里。
现在你的项目结构看起来像这样:
my_app/
├── main.py # 你的主 Python 脚本
├── helper.exe # 你需要调用的外部程序
└── libs/ # 存放所有必需的 DLL├── magic.dll├── another.dll└── more_dlls.dll
第二步:打包整个文件夹
现在,你只需要用一个 --add-binary
命令把整个 libs
文件夹打包进去。
打包命令:
pyinstaller --onefile --add-data "helper.exe;." --add-binary "libs;." main.py
命令解释:
--add-binary "libs;."
:libs
: 源文件夹。.
: 目标文件夹(根目录)。- 这个命令的效果是:PyInstaller 会将
libs
文件夹里的所有文件都提取出来,放到打包后程序的根目录中。
这样可以正常执行,但是会有运行黑窗口出现,加一个-w就行
pyinstaller --onefile --add-data "helper.exe;." --add-binary "libs;." -w main.py
会生成两个文件夹,builc和dist,生成的exe文件在dist中。
遵循这个指南,你就能可靠地将带有复杂依赖的外部程序和你的 Python 脚本一起打包成一个独立的 .exe
文件了。祝你打包成功!