将应用程序部署到其他系统/平台#
开发了一两个应用程序后,你可能想要将它们分发给其他用户。如果你对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 项目来了解更多信息。