将您的应用程序分发到其他系统/平台¶
在开发了几个应用程序之后,您可能希望将它们分发给其他用户。如果您对Python包没有太多经验,您甚至可能问过:如何创建Python可执行文件?。
如果你来自编译型编程语言,部署几乎是微不足道的,但对于Python来说有点困难。
Python应用程序的部署过程被称为“冻结”,这是将您的虚拟环境内容分发给其他用户的过程。
重要
由于Python不支持WebAssembly和移动平台,如Android和iOS,您无法直接将应用程序部署到这些平台,您需要高级流程来实现这一点。
注意
对于嵌入式系统,您目前需要为目标平台构建Qt for Python,并将安装部署在您的应用程序旁边。
可重复部署¶
一种常见的方法是只提供一个requirements.txt文件,在其中声明你的依赖项。用户需要从那里安装它们才能运行你的应用程序。
例如,想象我有一个项目,有两个依赖项,module_a 和 module_b,我在我的 main.py 文件中使用它们。所以我的结构是:
# Content of the main.py file
from module_a import something
import module_b
# ...
所以我的应用程序的requirements.txt文件看起来会是这样:
module_a
module_b
之后,当用户想要执行你的 main.py 时,必须在一个新的虚拟环境中使用 pip install -r requirements.txt 来安装依赖项。
重要
你可以注意到,这种方法包括分享你的代码,所以如果你想隐藏应用程序的代码,这种方法就会失败。
冻结您的应用程序¶
这是用户分发应用程序的最常见方法,尽管代码仍然对最终用户可用,但检索起来稍微困难一些。
您可以找到一系列基于最流行工具的教程,这些工具允许Python用户冻结和分发应用程序,请参阅我们的部署部分。
编译Python¶
尽管Python本身不支持编译,但有一些辅助工具可以帮助你实现这一点。 你可以查看Nuitka项目以了解更多信息。