Hacer que el proyecto sea instalable¶
Making your project installable means that you can build a wheel file and install that in another environment, just like you installed Flask in your project’s environment. This makes deploying your project the same as installing any other library, so you’re using all the standard Python tools to manage everything.
La instalación también viene con otros beneficios que podrían no ser obvios desde el tutorial o como un nuevo usuario de Python, incluyendo:
Actualmente, Python y Flask entienden cómo usar el paquete
flaskr
sólo porque lo ejecutas desde el directorio de tu proyecto. Instalarlo significa que puedes importarlo sin importar desde dónde lo ejecutes.Puedes gestionar las dependencias de tu proyecto igual que otros paquetes, así que
pip install tuproyecto.whl
las instala.Las herramientas de prueba pueden aislar el entorno de prueba del entorno de desarrollo.
Nota
Esto se está introduciendo tarde en el tutorial, pero en tus futuros proyectos deberías empezar siempre con esto.
Describa el proyecto¶
The pyproject.toml
file describes your project and how to build it.
[project]
name = "flaskr"
version = "1.0.0"
dependencies = [
"flask",
]
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
The setuptools build backend needs another file named MANIFEST.in
to tell it about
non-Python files to include.
include flaskr/schema.sql
graft flaskr/static
graft flaskr/templates
global-exclude *.pyc
This tells the build to copy everything in the static
and templates
directories,
and the schema.sql
file, but to exclude all bytecode files.
Consulte el tutorial oficial de empaquetado y la guía detallada para obtener más explicaciones sobre los archivos y las opciones utilizadas.
Instalar el proyecto¶
Utilice pip
para instalar su proyecto en el entorno virtual.
$ pip install -e .
This tells pip to find pyproject.toml
in the current directory and install the
project in editable or development mode. Editable mode means that as you make
changes to your local code, you’ll only need to re-install if you change the metadata
about the project, such as its dependencies.
Se puede observar que el proyecto se instala ahora con 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
setuptools 39.0.1
Werkzeug 0.14.1
wheel 0.30.0
Nada cambia de cómo has estado ejecutando tu proyecto hasta ahora. --app
sigue siendo flaskr
y flask run
sigue ejecutando la aplicación, pero puedes llamarla desde cualquier lugar, no sólo desde el directorio flask-tutorial
.
Continúe con Cobertura de la prueba.