阅读(1096) (17)

Flask 部署和分发

2021-07-02 13:51:31 更新

distribute 的前身是 ​setuptools​ ,是一个通常用于分发 Python 库和扩展程序的外部库。它依赖于随 Python 预装的 ​distutils​ 库, 而后者则是一个基础的模块安装系统,这一安装系统也支持很多复杂的构造,使得 大型应用更易于分发。

  • 支持依赖关系管理: 一个库可以声明自己依赖哪些软件包,从而在安装这个 模块的时候,自动将依赖的软件包也安装到您的计算机。
  • 注册软件包: setuptools 将您的包注册到您的安装的 Python 环境中。 这使得您可以使一个包中的代码查询另一个包所提供的信息。这一系统最知名的 特性就是对接口机制的支持,也就是说一个包可以声明自己的一个接口,从而允许 其他的包通过这个接口对自己进行扩展。
  • 安装包管理器: easy_install 默认随 Python 安装,它可以用于为您安装其他 的库。您也可以使用 pip 这个可能早晚会代替 easy_install 的包管理器,它能够 完成安装软件包之外更多的任务。

而对于 Flask 自己,则所有您可以在 cheessshop 上找到的软件包,都随着 distribute 分发管理器,或者更古老的 setuptools 和 distutils 分发。

在这里,我们假定您的应用名为 yourapplication.py ,而您没使用模块而是使用 package 的结构来组织代码。分发带有标准模块的 代码不被 distribute 支持,所以我们不去管它。如果您还没有将您的应用转化为包的形式, 请参考前文 大型应用 的内容查找如何做到这件事。

利用 distribute 完成一个有效的部署进行更复杂和更自动化的部署方案的第一步, 如果您使程序完全自动化,可以阅读 使用 Fabric 部署 这一章。