引言:大模型是个好工具,尽管好多内容都是拼凑的,但是整理学到的就是自己的。因工作需要隐藏python源代码,方法有PyInstaller 、Cpython等多种方法,PyInstaller更为常用,PyInstaller打包 Python 工程步骤整理如下:
一、确保系统环境准备就绪
-
安装 Python 和 pip
确认版本(建议 Python 3.6+):python3 --version pip3 --version
若未安装,则根据使用系统情况进行安装。
-
安装 PyInstaller
通过 pip 安装最新版 PyInstaller:pip install pyinstaller==4.10
二、打包 Python 工程
1. 最简打包(生成单个可执行文件)
-
打包并保留控制台窗口(适用于命令行程序)
pyinstaller your_script.py
2.常用选项
-
进入工程根目录,执行:
pyinstaller --onefile your_script.py
--onefile
: 生成单个可执行文件,将所有依赖打包成单个.exe
(Windows)或无后缀文件(Linux/macOS)。your_script.py
:替换为你的主程序入口文件。- 输出目录:
dist/
下生成可执行文件。
-
打包 GUI 程序(隐藏控制台)
pyinstaller --onefile --windowed your_script.py
--windowed
: 适用于 PyQt/Tkinter 等 GUI 程序,运行时不显示命令行窗口。 -
使用
--debug
参数生成详细日志:pyinstaller --debug your_script.py
三、打包高级选项
1. 添加数据文件(如配置文件、图片)
pyinstaller --onefile --add-data "data/config.json:data" your_script.py
- 格式:
源路径;目标路径
(Windows 用;
,Linux/macOS 用:
)。 - 示例:将
data/config.json
打包到程序内的data
目录。
2. 指定程序图标
pyinstaller --onefile --icon=app.ico your_script.py
- 支持
.ico
(Windows)、.icns
(macOS)、.png
(部分系统)。
3. 排除不必要的模块(减小体积)
pyinstaller --onefile --exclude-module matplotlib your_script.py
- 避免打包大型但未使用的库(如
matplotlib
、numpy
)。
4. 隐藏导入的模块(解决 ModuleNotFoundError
)
pyinstaller --onefile --hidden-import=pandas --hidden-import=numpy your_script.py
- 或通过
.spec
文件配置(见下文)。
5. 启用 UPX 压缩(需安装 UPX)
pyinstaller --onefile --upx-dir=/path/to/upx your_script.py
<