search
CursosEmpresasBlogLiveConfPrecios
Curso de Python: PIP y Entornos Virtuales

Python para Backend: web server con FastAPI

Curso de Python: PIP y Entornos Virtuales

Contenido del curso

Introducción

  • 1
    Python en tu propio entorno de desarrollo local

    Python en tu propio entorno de desarrollo local

    03:26 min
  • 2
    Instalación en Windows (WSL) y Linux

    Instalación en Windows (WSL) y Linux

    06:54 min
  • 3
    Instalación en Mac

    Instalación en Mac

    06:02 min
  • 4
    Python con VSCode

    Python con VSCode

    04:25 min
  • 5
    Python con Git y GitHub

    Python con Git y GitHub

    08:23 min
  • 6
    Flujo de trabajo en Python

    Flujo de trabajo en Python

    07:36 min

PIP y Entornos Virtuales

  • 7
    ¿Qué es pip?

    ¿Qué es pip?

    12:45 min
  • 8
    Gráficas en Python con PIP

    Gráficas en Python con PIP

    12:49 min
  • 9
    ¿Qué es un ambiente virtual?

    ¿Qué es un ambiente virtual?

    04:54 min
  • 10
    Usando entornos virtuales en Python

    Usando entornos virtuales en Python

    09:36 min
  • 11
    requirements.txt

    requirements.txt

    22:40 min

Práctica

  • 12
    Solicitudes HTTP con Requests

    Solicitudes HTTP con Requests

    11:13 min
  • 13
    Pandas

    Pandas

    08:37 min
  • 14
    Python para Backend: web server con FastAPI

    Python para Backend: web server con FastAPI

    Viendo ahora

Python en contenedores de Docker

  • 15
    ¿Qué es Docker?

    ¿Qué es Docker?

    02:25 min
  • 16
    Instalación de Docker en Windows, macOS y Ubuntu

    Instalación de Docker en Windows, macOS y Ubuntu

    01:35 min
  • 17
    Dockerizando scripts de Python

    Dockerizando scripts de Python

    16:36 min
  • 18
    Docker para el día a día: automatizando la vinculación de archivos

    Docker para el día a día: automatizando la vinculación de archivos

    04:29 min
  • 19
    Dockerizando web services

    Dockerizando web services

    05:54 min

Próximos pasos

  • 20
    ¿Cómo continuar tu carrera profesional con Python?

    ¿Cómo continuar tu carrera profesional con Python?

    01:41 min
Tomar examen

Python para Backend: web server con FastAPI

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

Comentarios62

Andres Cervantes

Andres Cervantes

Estudiante
Hace 4 años
    Jhonatan Sanchez

    Jhonatan Sanchez

    Estudiante
    Hace 2 años
    Angel Daniel Mendieta Castillo

    Angel Daniel Mendieta Castillo

    Estudiante
    Hace 6 meses
Anabel Chavez Berumen

Anabel Chavez Berumen

Estudiante
Hace 4 años
Mateo Paloma

Mateo Paloma

Estudiante
Hace 4 años
    Ricardo de Jesus Zapata Cruz

    Ricardo de Jesus Zapata Cruz

    Estudiante
    Hace 3 años
    Arelys Viloria

    Arelys Viloria

    Estudiante
    Hace 3 años
Jhon Freddy Tavera Blandon

Jhon Freddy Tavera Blandon

Estudiante
Hace 4 años
    Ruddy Ramos

    Ruddy Ramos

    Estudiante
    Hace 3 años
Miguel Angel Arreola

Miguel Angel Arreola

Estudiante
Hace 4 años
    Jeinfferson Bernal G

    Jeinfferson Bernal G

    Estudiante
    Hace 4 años
    Juan José Mamani Tarqui

    Juan José Mamani Tarqui

    Estudiante
    Hace 3 años
Carlos Rodríguez

Carlos Rodríguez

Estudiante
Hace 4 años
    Jaime Acosta

    Jaime Acosta

    Estudiante
    Hace 3 años
Antonio Demarco Bonino

Antonio Demarco Bonino

Estudiante
Hace 4 años
Germán Salina

Germán Salina

Estudiante
Hace 3 años
Arelys Viloria

Arelys Viloria

Estudiante
Hace 3 años
Marcelo Garro

Marcelo Garro

Estudiante
Hace 3 años
Heberth López

Heberth López

Estudiante
Hace 2 años
N40 M10

N40 M10

Estudiante
Hace 3 años
Francisco Javier Pecino Leon

Francisco Javier Pecino Leon

Estudiante
Hace 4 años
Fidel Parabacuto

Fidel Parabacuto

Estudiante
Hace 4 años
Jared Arturo Olmos Villagran

Jared Arturo Olmos Villagran

Estudiante
Hace 4 años
Jaime Hernandez

Jaime Hernandez

Estudiante
Hace 4 años
Maga Hernandez

Maga Hernandez

Estudiante
Hace 3 años
Bobionwa .

Bobionwa .

Estudiante
Hace 3 años
Ulises Alejandro Mánica Caricio

Ulises Alejandro Mánica Caricio

Estudiante
Hace 3 años
Diego Jurado

Diego Jurado

Estudiante
Hace 4 años

Para quien quiera revisar la documentación de Uvicorn Uvicorn

caballo homoxesual de las montañas

Ningún animal se salva

Que buen glow up le dieron a "la saga" de estos cursos, usted es un excelente profesor!

Recuerden que se puede crear un alias para no estar ejecutando el mismo código siempre

source enc/bin/activate

La manera de hacerlo podría ser:

alias avenv="source enc/bin/activate"

avenv es una abreviatura de "activate virtual environment", ese nombre es una sugerencia, puedes colocar cualquier otro.

modelo: alias <nombre del alias>="<comando que guardará el alias>" es importante los espacios y las comillas

Espero les funcione 🤗🤗

yo pensé lo mismo y creé el alias, pero lo llamé envon pues es la abreviación de Environment ON. me es mas facil de recordar y es chistoso tambien🤣

Corrección:

source env/bin/activate

FastAPI

  • Es un framework de Python para crear aplicaciones web rápidas y seguras. Utilice la mejor OpenAPI para definir la interfaz de la aplicación y proporcione un conjunto de herramientas para validar y documentar la API de manera automática.

****Uvicorn ****

  • Es un servidor ASGI (Asynchronous Server Gateway Interface) de alto rendimiento para ejecutar aplicaciones ASGI como FastAPI. Es una alternativa a otros servidores ASGI como Daphne y Hypercorn.

  • FastAPI y Uvicorn se utilizan juntos para proporcionar un entorno rápido y fácil de usar para el desarrollo y el uso de aplicaciones web basadas en ASGI.

pip install fastapi
  • A continuación, puede comenzar a crear su primera aplicación FastAPI. Por ejemplo, aquí tienes un ejemplo de una aplicación que expone una ruta "/" que recibe una solicitud GET y devuelve un mensaje de bienvenida:
from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} if __name__ == "__main__": app.run()

Gracias por el aporte.

🤖 _Rutina de la clase_👇

__

  • Navegar a proyecto Web
cd ../web-server
  • Activar ambiente del proyecto
source env/bin/activate
  • Agregar nuevas librerías FastAPI
pip3 install fastapi
  • Agregar ASGI (Asynchronous Server Gateway Interface) Uvicorn
pip3 install "uvicorn[standard]"
  • Verificar librerías instaladas
pip3 freeze
  • Actualizar Requirements
pip3 freeze > requirements.txt

Buen aporte. Gracias!

creo que falta antes de activar el ambiente, crearlo: python3 -m venv env

Para que el autocompletado sea el óptimo en todas las dependencias que usamos en un proyecto python, debemos siempre seleccionar en vscode el intérprete de python que se nos ha generado en el entorno virtual, por eso parece de esta manera 3.10.4 ('venv':venv) porque el nombre de mi entorno virtual es 'venv'. Por defecto les aparecerá el interprete como entorno global sin los paréntesis, ejemplo: 3.10.4, es decir solamente la versión de python.

Screenshot_1.png
. Como lo dije en otros aportes, si utilizan un manager de versiones de python como pyenv también desde vscode pueden seleccionar el intérprete que desean, claro esto antes deben asegurarse en la terminal que tienen activa tal versión de python, por ejemplo:
Screenshot_2.png

Justo la respuesta que necesitaba! Gracias

Que lindo sería que Nicolás lleve adelante nuevos cursos de las tres tecnologías de Python para Backend: FastAPI, Flask y Django.

Después de, literalmente, 35 cursos de Platzi puedo decir que este es el mejor que he hecho. Curso conciso, preciso y completo.

Web server con FastAPI y Uvicorn:


.

  1. ++¿cómo hacer una API?++ . Si alguien intenta hacer una petición a nuestra web podemos hacer que se le retornen datos con una función usando app.get('/'), con la url a la que le harán peticiones. De esta forma estaremos creando una API. . .
    Captura desde 2023-03-22 18-30-55.png

-- reload quiere decir que se cargue automáticamente.

.

  1. ++¿Cómo lanzar nuestra API?:++ . Ahora estaremos haciendo uso de uvicorn para lanzar nuestra aplicacón: .
    Captura desde 2023-03-22 18-58-17.png
    En la segunda linea del output de la terminal puedes ver que nos da una ip y un puerto (recuerda que lo puedes verificar con localhost): .
    Captura desde 2023-03-22 19-07-44.png

.

  1. ++¿Cómo devolver un HTML?++ . Importa la subclase (si a esto se le llama subclase):
from fastapi.responses import ORJSONResponse
  • y de esta forma envias html mediante una función: .
Captura desde 2023-03-22 19-33-48.png

Otra de las formas de poder usar uvicorn es implementando su modulo en el codigo y usando algunos de sus metodos incorporados.

code.png

Para quienes estén viendo este curso en 2024, los pasos para usar FastAPI cambiaron un poco (por eso siempre es bueno revisar la documentación oficial jaja), aquí les dejo los comandos para instalar FastAPI y levantar el server:

$ pip install "fastapi\[standard]" $ fastapi dev main.py

La ruta de JS es buena e interesante, sin embargo esta clase me hizo ver en definitiva que las rutas de python en mucho menos tiempo te ponen a un nivel realmente bueno en programación.

para quien tenga problemas con la ejecucion de uvicorn instalenlo asi:

sudo apt-get install uvicorn

y a seguir aprendiendooooo

Buenísima esta clase! Como todas las de Nico, pero esta en especial porque tienen un adelanto de lo que quiero aprender

si no les funciona el comando instalen uvicorn con

pip install uvicorn

¿FastAPI es una alternativa a Flask o este le hace frente a Django?

Platzibot dice de Uvicorn: Uvicorn es un servidor web ASGI de alto rendimiento, diseñado para ser utilizado con aplicaciones Python 3.6+ basadas en ASGI (Asynchronous Server Gateway Interface). ASGI es una especificación para servidores web que permite la comunicación asíncrona entre el servidor y las aplicaciones web, lo que puede mejorar significativamente el rendimiento y la escalabilidad de las aplicaciones.

Hola guapos!! Siento que el profe explica estos conceptos de forma muy vaga. Por lo que les comparto mis apuntes para que le entiendan un poco mejor: API: Un api es una forma de comunicar dos aplicaciones, librerias, etc… Para compartir datos, realizar acciones y aprovechar los servicios de aplicaciones externas. Esto nos sirve para hacer aplicaciones mas poderosas y complejas FastAPI: nos sirve para controlar las solicitudes y entradas que nuestro servidor web pida. Es un comunicador entre nuestro codigo y el servidor web Uvicorn: Es la libreria que aloja y mantiene nuestro servidor web

import store from fastapi import FastAPI from fastapi.responses import HTMLResponse app = FastAPI() #Instancia de FastAPI @app.get('/') #Funcion decorada: Cada que se obtenga la ruta '/' se ejecutara la siguiente funcion def get_list(): return [2,3,4,5,6,7,8,9,0] #Devolvera una lista de nuemros @app.get('/main', response_class=HTMLResponse) #Funcion decorada: Cada que se obtenga la ruta '/main' tendra una respuesta de tipo HTMl def get_main(): #Esto es para que pueda soportar una solicitud HTML y funcione la pagina return """ #Regresa un HTML <h2>Hola papirrin</h2> <p>No eres una pagina, eres lo que tu quieras ser querida</p> <img src="quico.jpg" width="300" height="200"> """ def run(): store.get_categories() if __name__ == '__main__': run()
carbon (22).png

Importante app = FastAPI()

Se utiliza para crear una instancia la cual cuando sea mandada a llamar mediante la ruta establecida por una peticion HTTP a una URL ejecutara un función que devolvera un valor dado

De FastApi hay unos cursos especificos también en la lista para seguir aprendiendo