Cómo crear un ambiente de desarrollo y producción para python con FastApi

1. Instalando dependencias

apt install python-is-python3

apt install python3.12-venv

2. Crear ambiente virtual

python -m venv myEnv

Para activar el ambiente virtual:

en windows:

myEnv\\Scripts\activate

en Linux/macOSX:

$ source myEnv/bin/activate
(myEnv) $

Para desactivar el ambiente virtual:
$ deactivate

3. Instalar PIP (gestor de paquetes en python)

En linux:
apt install python3-pip

En Windows:
python -m pip install –upgrade pip

4. Instalamos FastAPI

 pip install fastapi

Nota 1: al instalar fastapi se instala tambien uvicorn (Servidor web ASGI)

Nota 2: instalar uvicorn full: $ pip install 'uvicorn[standard]'

5. Creamos aplicación de prueba

Este es el código:

Please enter the password to see the content

6. Desplegando la aplicación.

$ uvicorn main:app --reload --host 0.0.0.0 # en un servidor
INFO:     Will watch for changes in these directories: ['/RUTA_A_LA_APP']
INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [5713] using WatchFiles
INFO:     Started server process [5715]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

7. Examinar estas direcciones en un navegador y observar los resultados.
http://localhost:8000/prueba

{"Hello":"World!!!"}

http://localhost:8000/

"Hello World!!!"

http://localhost:8000/otro

{"detail":"Not Found"}

8. Para un ambiente de producción:
uvicorn main:app --host [midominio.com](http://midominio.com) --ssl-certfile /etc/ssl/ssl.crt/cert.crt --ssl-keyfile /etc/ssl/ssl.key/keyDelCert.key

9. Una nota final sobre los requerimientos:

a. Crear el archivo de requerimientos:

pip freeze > requirements.txt

b. Instalar los requerimientos
pip install -r requirements.txt

 

10. Documentación

En un navegador abrir esta dirección (autodocumentado!):

-.-