制作可安装项目
使项目可安装意味着可以构建分发文件并将其安装到其他环境中,就像在项目环境中安装 Flask 一样。这使得部署项目与安装任何其他库一样,因此可以使用所有标准的 Python 工具来进行管理。
制作安装项目还带来了对于本教程或 Python 新用户可能不太明显的其他好处,包括:
● 目前,Python 和 Flask 知道如何使用 flaskr 包,这是因为是从项目目录运行的。安装意味着无论从何处运行,都可以导入它。
● 可以像其他软件包一样管理项目的依赖,可以使用 pip install yourproject.whl 命令进行安装。
● 测试工具可以将测试环境与开发环境隔离开来。
描述项目
setup.py 文件描述项目以及属于它的文件。
# setup.py
from setuptools import find_packages, setup
setup(
name='flaskr',
version='1.0.0',
packages=find_packages(),
include_package_data=True,
zip_safe=False,
install_requires=[
'flask',
],
)
复制
packages 告诉 Python 要包含哪些包目录(以及它们包含的 Python 文件)。find_packages() 自动查找这些目录,不必手动输入。要包含其他文件,例如静态和模板目录,请设置 include_package_data。Python 需要另一个名为 MANIFEST.in 的文件,来说明其他数据是什么。
MANIFEST.in
include flaskr/schema.sql
graft flaskr/static
graft flaskr/templates
global-exclude *.pyc
复制
此文件告诉 Python 复制 static 和 templates 目录的所有内容,以及 schema.sql 文件,但要排除所有字节码文件。
安装项目
使用 pip 在虚拟环境中安装项目。
> pip install -e .
复制
这会告诉 pip 在当前目录中找到 setup.py,并以编辑或开发模式安装。如果是编辑模式,则当更改本地代码时,如果更改了有关项目的元数据(例如其依赖项),则只需重新安装。
通过 pip list 命令可以看到,项目已经安装。
> pip list
复制
到目前为止,项目的运行方式没有任何变化。FLASK_APP 仍然设置为 flaskr,flask run 仍然运行应用程序,但您可以在任何地方调用它,而不仅仅是 flask-tutorial 目录。
原文:
https://flask.palletsprojects.com/en/2.0.x/tutorial/install/