在本文章中,我们将介绍如何将 Python 脚本打包成一个独立的 .exe 文件,让用户无需安装 Python 即可运行它。我们将用到名为 PyInstaller 的工具来实现打包操作。请跟随以下步骤了解整个流程。
### 为什么要打包成 EXE 文件?
将 Python 脚本打包成 EXE 文件有以下好处:
1. 用户无需安装 Python 即可运行程序。
2. 隐藏源代码,提高代码保密性。
3. 分发简单,只需提供一个 EXE 文件。
4. EXE 文件适用于 Windows 平台,可以减少跨平台兼容性问题。
### PyInstaller 简介
PyInstaller 是一个功能强大、易于使用的 Python 脚本打包工具。它将程序和所有相关的依赖和库文件打包成一个可执行文件,用户无需独立安装 Python 即可运行它。PyInstaller 支持 Python 2.7 和 3.6~3.9 版本。
### 打包步骤
#### 第 1 步:安装 PyInstaller
首先,用以下命令安装 PyInstaller:
```
pip install pyinstaller
```
#### 第 2 步:编写需要打包的 Python 脚本
以一个简单的 Python 脚本作为示例,创建一个新文件 `hello_world.py`,并输入以下代码:
```python
def main():
print("Hello World!")
if __name__ == "__main__":
main()
```
#### 第 3 步:使用 PyInstaller 打包
在脚本所在的文件夹内打开命令提示符(Windows)或终端(Linux/Mac),输入以下命令:
```
pyinstaller --onefile hello_world.py
```
“--onefile” 参数表示打包成单个 EXE 文件。
### 结果解释
PyInstaller 会在当前目录下创建三个文件夹:`build`、`dist` 和 `__pycache__`。
1. `build` 文件夹:这是 PyInstaller 使用的临时文件夹,存储打包过程中的中间文件。可以在打包完成后删除此文件夹。
2. `dist` 文件夹:这里存放生成的可执行文件(.exe 文件)。将此文件夹中的 EXE 文件发送给用户,即可让他们运行程序。
3. `__pycache__` 文件夹:这里存放了解释器生成的临时(.pyc)文件。可以在打包完成后删除此文件夹。
生成的 EXE 文件默认会采用脚本文件名,本例中为 `hello_world.exe`。
###注意事项
1. 打包后的 EXE 文件可能较大,因为它将 Python 解释器及依赖库整合进了可执行文件内。可以使用 UPX(http://upx.github.io/)对生成的 EXE 文件进行压缩。
2. 托管在 GitHub 上的开源项目 Auto PY to EXE(https://github.com/brentvollebregt/auto-py-to-exe)提供了图形化界面,简化了 PyInstaller 构建过程。
3. 如果打包过程中出现错误或问题,请检查脚本是否有导入外部库,或尝试使用 PyInstaller 官方文档中的高级选项调整打包设置。
总结:通过 PyInstaller,我们可以将 Python 脚本打包为独立的 EXE 文件,方便用户运行程序。此外,还可以通过其它工具(如 UPX)优化生成的可执行文件。