CursosEmpresasBlogLiveConfPrecios
Curso de Python: PIP y Entornos Virtuales

¿Qué es pip?

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?

    Viendo ahora
  • 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

    10:48 min

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

¿Qué es pip?

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

      Comentarios83

      Hiram Jiménez

      Hiram Jiménez

      Estudiante
      Hace 4 años
        Ian Cristian Ariel Yané

        Ian Cristian Ariel Yané

        Estudiante
        Hace 3 años
        Mauro Benito Montoya Arenas

        Mauro Benito Montoya Arenas

        Estudiante
        Hace 3 años
      Michael Forero Chaux

      Michael Forero Chaux

      Estudiante
      Hace 4 años
        Alvaro Eduardo Garzón Pira

        Alvaro Eduardo Garzón Pira

        Estudiante
        Hace 3 años
        Jesus G. Martinez

        Jesus G. Martinez

        Estudiante
        Hace 3 años
      Yuli Alexandra Pulido Castañeda

      Yuli Alexandra Pulido Castañeda

      Estudiante
      Hace 4 años
      Juan Sebastian Alvarez Yaguara

      Juan Sebastian Alvarez Yaguara

      Estudiante
      Hace 4 años
        Jeinfferson Bernal G

        Jeinfferson Bernal G

        Estudiante
        Hace 4 años
        Didier Fernando Aragón Moreno

        Didier Fernando Aragón Moreno

        Estudiante
        Hace 2 años
      Michelle Verano

      Michelle Verano

      Estudiante
      Hace 4 años
        Braham Santiago Cabrejo Bernal

        Braham Santiago Cabrejo Bernal

        Estudiante
        Hace 4 años
        Eduardo Peña Ramos

        Eduardo Peña Ramos

        Estudiante
        Hace 4 años
      Luis Kennedy Saavedra Fuentes

      Luis Kennedy Saavedra Fuentes

      Estudiante
      Hace 3 años
        Abraham Misael Flores Castrejón

        Abraham Misael Flores Castrejón

        Estudiante
        Hace 2 años
        Luis Kennedy Saavedra Fuentes

        Luis Kennedy Saavedra Fuentes

        Estudiante
        Hace un año
      Eduardo Peña Ramos

      Eduardo Peña Ramos

      Estudiante
      Hace 4 años
        David Barrera

        David Barrera

        Estudiante
        Hace 3 años
      Carlos Rodríguez

      Carlos Rodríguez

      Estudiante
      Hace 4 años
        Juan Pablo Osorio Quiroga

        Juan Pablo Osorio Quiroga

        Estudiante
        Hace 2 años
      Miguel Angel Reyes Moreno

      Miguel Angel Reyes Moreno

      Estudiante
      Hace 3 años
        Andres Sanchez

        Andres Sanchez

        Estudiante
        Hace 3 años
        Miguel Angel Reyes Moreno

        Miguel Angel Reyes Moreno

        Estudiante
        Hace 3 años
      Hiram Jiménez

      Hiram Jiménez

      Estudiante
      Hace 4 años
        Brayan Avendaño

        Brayan Avendaño

        Estudiante
        Hace 4 años
        Hiram Jiménez

        Hiram Jiménez

        Estudiante
        Hace 4 años
      Yadlif Mateo Hernandez Zapata

      Yadlif Mateo Hernandez Zapata

      Estudiante
      Hace 3 años
        Juan Pablo Osorio Quiroga

        Juan Pablo Osorio Quiroga

        Estudiante
        Hace 2 años
        Johann Camilo Soracá Zea

        Johann Camilo Soracá Zea

        Estudiante
        Hace un año
      Hugo Orlando Gonzalez

      Hugo Orlando Gonzalez

      Estudiante
      Hace 3 años
        Francisco Ponce

        Francisco Ponce

        Estudiante
        Hace 3 años
      Gagandeep Dass

      Gagandeep Dass

      Estudiante
      Hace un año
      Nieng Yordan Lee Gaitan

      Nieng Yordan Lee Gaitan

      Estudiante
      Hace 3 años
      Daniel Pérez

      Daniel Pérez

      Estudiante
      Hace 4 años
        María Eugenia Pereira Chévez

        María Eugenia Pereira Chévez

        Estudiante
        Hace 4 años
      Freddy Sierra Silva

      Freddy Sierra Silva

      Estudiante
      Hace 3 años
        Santiago Posada Betancur

        Santiago Posada Betancur

        Estudiante
        Hace 3 años
        Marcos Triviño

        Marcos Triviño

        Estudiante
        Hace 3 años
      Eduardo Blanco

      Eduardo Blanco

      Estudiante
      Hace 4 años
      Gorka Gallardo Castany

      Gorka Gallardo Castany

      Estudiante
      Hace 6 meses
        Jose Luis Flores

        Jose Luis Flores

        Estudiante
        Hace 4 meses
      Martin Freire

      Martin Freire

      Estudiante
      Hace 3 años
        Emiro Luis Campo Vergel

        Emiro Luis Campo Vergel

        Estudiante
        Hace 3 años
        Emiro Luis Campo Vergel

        Emiro Luis Campo Vergel

        Estudiante
        Hace 3 años
      Miguel Angel Espinosa Hernandez

      Miguel Angel Espinosa Hernandez

      Estudiante
      Hace 3 años

      Al final del ejercicio no olviden agregar los cambios a git y github, y en el archivo de .gitignore, escriban *.png para que git ignore subir estas imágenes al repositorio, ya que una buena práctica es subir solo texto...

      Es correcto

      Correcto. Tal y como nos enseño el buen Freddy.

      PIP es a Python como NPM es a JavaScript

      O como NuGet es a C# (.NET)

      excelente acotación no la había relacionado

      Hola Chicos! :D Enlace a pypi https://pypi.org/

      Correr en la terminal los siguientes comandos

      • pip3 -V
      • ll
      • mkdir charts
      • cd charts/

      Estando en la carpeta vamos a instalar un paquete

      • pip3 install matplotlib Ver librerias instaladas

      • pip3 freeze

      import matplotlib.pyplot as plt def generate_pie_chart(): labels = ['A', 'B', 'C'] values = [200, 34, 120] fig, ax = plt.subplots() ax.pie(values, labels=labels) plt.savefig('pie.png') plt.close()
      import charts def run(): charts.generate_pie_chart() if __name__ == '__main__': run()

      Espero este aporte les sirva, a mí me aparecía el error en VSCode de que no se podía importar la librería, mas allá que ya lla habia instalado con el comando pip install matplotlib. Revisé y resulta que yo tenía instaladas 2 versiones de Python (3.10.8 y 3.11), entonces lo que hice fue cambiar el interprete de Python a la versión 3.11 en VSCode y funcionó. Para cambiar el interprete se va a la pestaña ver->Paleta de comandos->Python: seleccionar interprete y con eso pude resolver el problema.

      Tambien me sirvio. Muchisimas gracias!

      Juan Sebastian Alvarez Yaguara muchas gracias por tu aporte

      Hasta el momento me esta encantando este curso, pero me hace pensar, changos, tengo que ir a ver primero los otros cursos para estar a la par con todo

      x2

      Así es, por ejemplo de git hay que entender bien los conceptos de push, pull, commit, request, etc.

      Recomiendo crear primero un entorno virtual para instalar los paquetes a utilizar en cada ejercicio, así los paquetes van a ser instalados solo donde se va a utilizar y no en todo el sistema operativo como lo muestra el mismo profesor que ya tiene muchos paquetes instalados. . En este caso para trabajar con el ejercicio de chart. dentro de la caperta chart:

      # Crear entorno virtual con el nombre venv python3 -m venv venv # Activar entorno virtual source venv/bin/activate # pip freeze para verificar que no ha nada instalado aún pip freeze # Instalar pip install matplotlib # pip freeze para verificar lo instalado solo en el entorno virtual pip freeze

      Muchisimas gracias, por su aporte pude instalar matplotlib y todas las librerias

      Esa es la idea Abrahan, sigamos subiendo escalones en la escalera del conocimiento.

      Como buena práctica, después de terminar bien la clase, hago un commit, push en el repositorio.

      de un merge conflict libranos señor

      Para ver todas las librerías en python en general:

      pip freeze

      . Equivalente tambien a:

      pip list

      . Si queremos ver solo las librerías que hemos instalados:

      pip list --not-required

      Mil gracias!

      Este tipo de errores de typing se pueden evitar con un buen IDE como lo es PyCharm :D

      Una pregunta Miguel, PyCharm corrige esos errores de typing?

      Solo puedo decirte que vale la pena que lo uses en proyectos de Python ;)

      En wls con ubuntu no me guarda la gráfica, a alguien le pasó? como se resuelve?

      Me pasó al principio pero fue un error al momento de escribir, dentro del main, añadí 2 ':' así que por eso no ejecutaba el run(), si puedes compartir tu código o enseñarlo para revisar estaría bien! ^^

      nunca se visualizó en vscode, solo se guardan las gráficas como imagen.

      PARA LOS QUE USEN UBUNTO DEBEMOS LLAMAR LA FUNCION DEL GRAFICO PARA QUE APAREZCA EN VISUALSTUDIO CODE :

      import matplotlib.pyplot as plt def generate_pie_chart(): labels = ['A','B','C'] values =[200, 34, 120] fig, ax = plt.subplots() ax.pie(values, labels=labels) plt.savefig('pie.png') plt.close() generate_pie_chart()

      Gracias, me fallaba por eso y no sabia el porque!

      gracias compa ese era mi error

      ¿PIP sería el NPM de JS?

      Sí, se podría decir que PIP es el NPM de Python. Ambas herramientas son sistemas de gestión de paquetes que permiten a los desarrolladores instalar y gestionar módulos y paquetes de terceros para utilizarlos en sus proyectos.

      PIP es específico de Python y se utiliza para gestionar paquetes y módulos en proyectos de Python, mientras que NPM es específico de Node.js y se utiliza para gestionar paquetes y módulos en proyectos de JavaScript.

      El commit es hacer la maleta, y el push es enviarla en el tren

      Imagina que trabajas en una estación de tren 🚉.

      • Cada cambio que haces en tu proyecto son cosas que quieres llevarte de viaje: ropa, libros, cargador…
      • Pero antes de subirlas al tren (push), necesitas guardarlas en una maleta (commit).
      • Si intentas mandar el equipaje sin maleta… el revisor del tren se queda mirando tus cosas tiradas en el andén y te dice: “¿Dónde está la maleta? ¡No puedo subir esto así!”

      Así que:

      • Hacer git add es como seleccionar los objetos que vas a llevar.
      • Hacer git commit es cerrar y etiquetar la maleta con tu nombre.
      • Hacer git push es subir la maleta al tren que va hacia tu destino (el repositorio remoto).

      Si recuerdas que “sin commit, no hay maleta”, y sin maleta no puedes enviar nada… ya no se te va a olvidar.

      Gran saludo... Cuando escribo en la terminal :

      sudo pip3 install matplotlib

      tengo esto como resultado

      externally-managed-environment

      × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install.

      If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed. If you wish to install a non-Debian packaged Python application, it may be easiest to use pipx install xyz, which will manage a virtual environment for you. Make sure you have pipx installed. See /usr/share/doc/python3.11/README.venv for more information.

      note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification.

      tengo entendido que ya no puedo hacer ninguna instalación de librerias externas a python porque ya esta ligado como tal a muchos procesos de linux, en este caso, ¿que se hace?, aqui recomiendan hacer un entorno virtual, pero me gustaria instalarlo en el python nativo.

      hola comunidad, mi duda es: yo uso conda para crear ambientes virtuales, es bueno que tambien use pip para descargar los paquetes? o es mejor que use venv?

      En lo personal me encanta conda y hago las instalaciones de los paquetes de python con ella.

      Hola a Todos. Considero pertinente exponer mi caso y la solución: En mi caso no era posible habilitar "pip3". Finalmente pudo resolverse editando el archivo /etc/resolv.conf para agregar la linea 'nameserver 8.8.8.8', posteriormente se aplicaron las siguientes instrucciones:

      1. sudo apt-get update
      2. sudo apt-get install python3-lib2to3
      3. sudo apt install python3-pip Finalmente fue posible obtener este resultado: admfos@sierras-1963:~$ pip3 -V pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)

      Espero que sea de utilidad.

      Gracias, me pasaba lo mismo!

      Muchísimas gracias. También me ayudó tu comentario.

      Iba a hacer una pregunta e inmediatamente (antes de publicarla) me apareció una respuesta sugerida, que satisfizo mi inquietud ¡Qué maravilla, me encantó eso!

      Aviso! A prtir de febrero del 2025 en Linux (Ubuntu, Deabian, Arch etc) deja de estar permitido la instalacion usando directament pip3, para instalar debes usar lo siguiente:

      # 1. Crea el entorno (puedes llamarlo 'env', '.venv', etc.)

      python -m venv mi_entorno

      # 2. Actívalo

      source mi_entorno/bin/activate

      # 3. Instala matplotlib sin errores

      pip install matplotlib

      Y tambien

      pip freeze > requirements.txt

      Para que genere el archivo de requerimientos y no anden diciendo por alli , "in mi miquini si fincionii"

      por favor, besos

      cuando corro el codigo en Linux me guarda la imagen en el home/miPC y no en el directorio en que se encuentra el archivo. alguno sabe como indicar el uso de rutas relativas/absolutas. Mil gracias desde ya

      import matplotlib.pyplot as plt def generate_pie_chart(): labels = ['A', 'B', 'C'] values = [200, 34, 120] fig, ax = plt.subplots() ax.pie(values, labels=labels) plt.savefig('pie.png') plt.show() plt.close() if __name__ == '__main__': generate_pie_chart()

      yo uso wsl y me funciona igual que el tutorial, salvo que me tocó quitar el .png para que me diera la imagen... sin embargo, aquí te dejo un enlace con la documentación

      https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.savefig.html

      no se tendría que crear el entorno virtual primero antes de hacer la instalación con pip, y así no llenar el python base de librerías