项目可安装化

使您的项目可安装意味着您可以构建 wheel 文件并将其安装在另一个环境中,就像您在项目的环境中安装了Flask.这使得部署您的项目与安装任何其他库一样,因此您使用所有标准的Python工具来管理一切。

安装还附带了其他一些好处,这些好处可能在教程中并不明显,或者初学者可能没注意到:

  • 目前,python和flask能够了解如何使用 flaskr 包,因为你是在项目 文件夹中运行的。安装后就意味着无论从何处运行,都可以导入它。

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

  • 测试工具可以将测试环境与开发环境隔离开来。

备注

在本教程的后面部分将介绍这一点,但是在以后的项目中应当以此为项目的起点。

描述项目

这个 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"

去见官员 Packaging tutorial 有关使用的文件和选项的更多说明。

安装项目

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

$ pip install -e .

这会告诉pip找到 pyproject.toml 在当前目录中并将项目安装在 editabledevelopment 模式。可编辑模式意味着当您对本地代码进行更改时,只有在更改了有关项目的元数据(如其依赖项)时才需要重新安装。

可以通过 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 仍设置为 flaskrflask run 仍然运行应用程序,但您可以从任何地方调用它,而不仅仅是 flask-tutorial 目录。

下面请阅读 测试覆盖 。