如何将 Python 项目打包成独立的可执行文件?

Ope*_*ynx 1 python release pip package

我不想发布我的 python 项目,但是当我将它发送给某人时,他被迫安装我在我的 python 项目中使用的所有软件包。

有没有什么办法打包什么的,因为可能有一些用户对pip或者python不太熟悉。

问候

Dor*_*rba 8

安装程序

PyInstaller 是一个在 Windows、GNU/Linux、Mac OS X、FreeBSD、Solaris 和 AIX 下将 Python 程序冻结(打包)为独立可执行文件的程序。与同类工具相比,它的主要优点是 PyInstaller 可与 Python 2.7 和 3.4—3.7 配合使用,由于透明压缩,它构建较小的可执行文件,完全多平台,并使用操作系统支持加载动态库,从而确保完全兼容。

即使用户没有安装 python,它也能工作。

这里有一个来自 github 项目的例子。如您所见,您可以下载源代码,也可以下载包含用于运行项目的每个包的 zip。在此示例中,它包含许多文件,但您可以将所有文件打包到一个 .exe 文件中。

如何使用(手册):

从 PyPI 安装 PyInstaller:

pip install pyinstaller
Run Code Online (Sandbox Code Playgroud)

转到您的程序目录并运行:

pyinstaller yourprogram.py
Run Code Online (Sandbox Code Playgroud)

这将在名为 dist 的子目录中生成包。

您可以使用-onefile参数来生成只有一个可执行文件的包。

具体案例:

您询问了如何获取用户发送的参数。这里有一些方法可以做到,或多或少方便:

  • 使用输入(),
  • 使用配置文件,
  • 使用默认参数。