【最佳实践】py文件需要调用exe文件和dll文件,如何打包成exe文件

(最佳实践):创建一个库文件夹

当依赖的 DLL 数量较多时,最好的方法是把它们统一管理起来。

第一步:整理项目结构

  1. 在你的项目文件夹 my_app 中,创建一个新的子文件夹,比如叫 libsdlls
  2. 将你找到的所有 helper.exe 依赖的 DLL 文件,全部复制 到这个 libs 文件夹里。

现在你的项目结构看起来像这样:

复制代码
my_app/
├── main.py        # 你的主 Python 脚本
├── helper.exe     # 你需要调用的外部程序
└── libs/          # 存放所有必需的 DLL
    ├── magic.dll
    ├── another.dll
    └── more_dlls.dll

第二步:打包整个文件夹

现在,你只需要用一个 --add-binary 命令把整个 libs 文件夹打包进去。

打包命令:

bash 复制代码
pyinstaller --onefile --add-data "helper.exe;." --add-binary "libs;." main.py

命令解释:

  • --add-binary "libs;.":
    • libs: 源文件夹。
    • .: 目标文件夹(根目录)。
    • 这个命令的效果是:PyInstaller 会将 libs 文件夹里的所有文件都提取出来,放到打包后程序的根目录中。

这样可以正常执行,但是会有运行黑窗口出现,加一个-w就行

bash 复制代码
pyinstaller --onefile --add-data "helper.exe;." --add-binary "libs;." -w main.py


会生成两个文件夹,builc和dist,生成的exe文件在dist中。

遵循这个指南,你就能可靠地将带有复杂依赖的外部程序和你的 Python 脚本一起打包成一个独立的 .exe 文件了。祝你打包成功!

相关推荐
C++ 老炮儿的技术栈29 分钟前
Qt 开发机器人客户端程序
c语言·开发语言·c++·windows·qt·机器人
李李李li1 小时前
cudnn下载链接
人工智能·windows
小涛不学习13 小时前
手写线程池(从0实现 ThreadPoolExecutor 核心思想)
windows
twc82914 小时前
大模型生成 QA Pairs 提升 RAG 应用测试效率的实践
服务器·数据库·人工智能·windows·rag·大模型测试
wenlonglanying15 小时前
Windows安装Rust环境(详细教程)
开发语言·windows·rust
polaris063016 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
mldlds16 小时前
windows手动配置IP地址与DNS服务器以及netsh端口转发
服务器·windows·tcp/ip
取个名字太难了a17 小时前
DebugActiveProcess 调试流程分析(一)
windows
Java.熵减码农17 小时前
火绒安全软件误杀explorer.exe导致黑屏解决方法
windows
love530love17 小时前
不用聊天软件 OpenClaw 手机浏览器远程访问控制:Tailscale 配置、设备配对与常见问题全解
人工智能·windows·python·智能手机·tailscale·openclaw·远程访问控制