项目可安装化

项目可安装化是指创建一个 wheel 文件,以使项目可以安装到其他环境中,就 像在你的项目环境中安装 Flask 一样。这样可以使你的项目如同其他库一样进行 部署,使用标准的 Python 工具来管理项目。

可安装化还可以带来如下好处,这些好处在教程中可以不太明显或者初学者可 能没注意到:

  • 现在, Python 和 Flask 能够理解如何 flaskr 包,是因为你是在项 目文件夹中运行的。可安装化后,可以从任何地方导入项目并运行。

  • 可以和其他包一样管理项目的依赖,即使用 pip install yourproject.whl 来安装项目并安装相关依赖。

  • 测试工具可以分离测试环境和开发环境。

Note

这些内容会在随后的教程中说明,但是在以后的项目中应当以此为项目的 起点。

描述项目

pyproject.toml 文件描述项目及其构建方法。

pyproject.toml
[project]
name = "flaskr"
version = "1.0.0"
description = "The basic blog app built in the Flask tutorial."
dependencies = [
    "flask",
]

[build-system]
requires = ["flit_core<4"]
build-backend = "flit_core.buildapi"

更多内容和参数参见 打包教程

安装项目

使用 pip 在虚拟环境中安装项目。

$ pip install -e .

这个命令告诉 pip 在当前文件夹中寻找 pyproject.toml 并在 编辑开发 模式下安装。编辑模式是指当改变本地代码后,只需要重新项目。比如 改变了项目依赖之类的元数据的情况下。

可以通过 pip list 来查看项目的安装情况。

$ pip list

Package        Version   Location
-------------- --------- ----------------------------------
click          6.7
Flask          1.0
flaskr         1.0.0     /home/user/Projects/flask-tutorial
itsdangerous   0.24
Jinja2         2.10
MarkupSafe     1.0
pip            9.0.3
Werkzeug       0.14.1

至此,没有改变项目运行的方式, --app 还是被设置为 flaskr , 还是使用 flask run 运行应用。不同的是可以在任何地方运行应用,而不 仅仅是在 flask-tutorial 目录下。

下面请阅读 测试覆盖