Python程序打包成EXE

本文章内容的视频版本:

YouTube video

为什么这么做?

最大的好处,就是可以直接一个压缩包分发给别人,不需要再安装Python,点击就能运行。
– 有自己的icon
– 一定程度的保护代码

通过将Python项目打包成可执行文件(EXE),我们可以方便地分享程序,并且无需担心用户的Python环境配置。此外,自定义图标和代码保护功能也是打包的一大亮点。

 

用什么打包?

将Python工程打包成EXE文件,可以使用以下几种方式:

1. PyInstaller

安装:

bash
pip install pyinstaller

打包:

bash
pyinstaller --onefile your_script.py

这将生成一个单独的可执行文件 your_script.exe,位于 dist 目录中。

常用选项:

  • –onefile: 生成单个可执行文件
  • –windowed或–noconsole: 打包为窗口应用程序(不显示控制台)

2. cx_Freeze

安装:

bash
pip install cx_Freeze

编写setup.py:

创建一个 setup.py 文件,内容如下:

python
from cx_Freeze import setup, Executable

 

setup( name = “your_program_name”, version = “0.1”, description = “Your program description”, executables = [Executable(“your_script.py”)] )

打包:

bash
python setup.py build

生成的EXE文件位于 build 目录中。

3. Py2exe

安装:

bash
pip install py2exe

编写 setup.py:

创建一个 setup.py 文件,内容如下:

python
from distutils.core import setup
import py2exe
setup(console=['your_script.py'])

打包:

bash
python setup.py py2exe

生成的EXE文件位于 dist 目录中。

4. Nuitka

Nuitka不仅可以将Python代码编译为C++代码,还可以生成可执行文件。

安装:

bash
pip install nuitka

编译:

bash
nuitka --follow-imports --standalone your_script.py

生成的EXE文件位于当前目录的 your_script.dist 文件夹中。

总结

选择哪种工具可以根据具体需求决定:

  • PyInstaller:常用且支持多种选项,适合大部分应用。
  • cx_Freeze:灵活性高,适合复杂项目。
  • Py2exe:适合简单项目,但仅支持Windows。
  • Nuitka:适合需要性能优化的项目。

每种方法都有其优势,可以根据项目的需求和个人偏好进行选择。

如何打包?

    1. 安装PyInstaller:
bash
pip install pyinstaller
    1. 使用PyInstaller打包:
bash
pyinstaller your_script.py

为什么有错误,怎么办?

1. Gradio UI需要手动添加Gradio模块:

找到对应的spec文件,添加:

python
module_collection_mode={'gradio':'py',}

2. 参数调用的错误:

python
def parse_args():
    command_line_args = SimpleNamespace(
        llama_checkpoint_path="checkpoints/fish-speech-1.2",
        decoder_checkpoint_path="checkpoints/4x1024-42hz-generator.pth",
        decoder_config_name="firefly_gan_vq",
        device="cuda",
        half=False,
        compile=False,
        max_gradio_length=0,
    ) 
return command_line_args

3. 缺少资源:

确保所有必要的资源文件都包含在打包过程中,并且路径正确。如果遇到缺少资源的错误,检查资源文件是否在项目的正确位置,以及打包工具的配置是否正确。

支持牛哥

送人玫瑰,手有余香,可以通过下面的方式支持牛哥

1. 开通 Youtube 会员:

最简单直接的方式,一杯咖啡的开销,成为牛哥背后的男(女)人 Python工程打包成EXE

开通方法:
点击任意牛哥视频描述区的加入按钮 或者 点击牛哥描述区的连接:

Python工程打包成EXE

大陆地区可以使用日本或者台湾区的梯子,否则可能看不到加入按钮

2. 为爱发个电:

Python工程打包成EXE

爱发电平台: https://afdian.com/a/niugee

站内快搜



联系牛哥

加入牛哥的 TG 群组一起交流

=>>Telegram群组(点我加入)

有特殊情况的,需要单独沟通,可以添加牛哥的 微信 或者 Telegram