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:
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!):
-.-