Aprende a instalar pip, aprovechar PyPI, aislar dependencias con ambientes virtuales y levantar un servidor web con Flask en minutos. Sin complicaciones: comandos claros, buenas prácticas y el porqué detrás de cada paso.
¿Qué es PyPI y cómo instalar pip?
La comunidad de Python comparte código open source en PyPI (Python Package Index). En lugar de reescribir soluciones, instalas paquetes listos con pip. La instalación se realiza con el scriptgetpip.py, que contiene un binario en base 64 (un ZIP) y un punto de entrada con if __name__ == '__main__': que ejecuta su función main usando un bloque try/finally para crear y limpiar un directorio temporal.
Usa paquetes probados por la comunidad.
Instala y prueba alternativas hasta hallar la que encaje.
Evita reinventar la rueda.
¿Cómo descargar y ejecutar getpip.py con seguridad?
Abre la página oficial de instalación de pip.
Descarga getpip.py y guárdalo localmente.
Ejecútalo con Python.
python getpip.py
¿Cómo verificar pip con which?
Comprueba si pip se instaló correctamente.
which pip
Si muestra una ruta en tu sistema, ya puedes instalar paquetes.
¿Cómo crear ambientes virtuales con virtualenv?
Usar solo el intérprete global complica proyectos con versiones distintas de paquetes (por ejemplo, dos proyectos con Django en versiones diferentes). La solución son los ambientes virtuales, que aíslan dependencias por proyecto. Así evitas conflictos y mantienes control de versiones.
¿Cómo instalar y activar virtualenv?
Instala virtualenv con pip.
Crea una carpeta de proyecto, por ejemplo servidor.
Crea y activa el ambiente virtual llamado venv.
pip install virtualenv
which virtualenv
mkdir servidor
cd servidor
pwdvirtualenv venv
source venv/bin/activate
Verás el prefijo (venv) en tu consola: indica que estás dentro del virtual environment.
¿Cómo listar paquetes con pip freeze?
Muestra las dependencias instaladas en el ambiente actual.
pip freeze
Recién creado, el ambiente tendrá solo lo mínimo del intérprete.
¿Cómo gestionar dependencias con requirements.txt?
Crea requirements.txt con touch.
Agrega las librerías y versiones que uses (por ejemplo, Flask).
Instala leyendo desde el archivo con -r.
touch requirements.txt
# Dentro de requirements.txt agrega la versión instalada, por ejemplo:Flask==0.12pip install -r requirements.txt
Esto permite compartir y reproducir el entorno con control de versiones como Git.
¿Cómo levantar un servidor web con Flask?
Con el ambiente activo, instala Flask y crea un servidor minimalista. Python es de los lenguajes más populares para servidores web y verás por qué: son pocas líneas y resultados inmediatos en localhost.
¿Cómo instalar Flask con pip?
Instálalo y confirma la versión con pip freeze.
pip install flask
pip freeze
¿Cómo crear main.py y definir una ruta?
Importa la clase Flask.
Instancia la app pasando __name__ al constructor.
Define una route para / que retorne un texto.
Agrega el punto de entrada if __name__ == '__main__': y ejecuta app.run().
from flask import Flask
app = Flask(__name__)@app.route('/')defhello_world():return'Hola, ya ingenieros de software'if __name__ =='__main__': app.run()
¿Cómo ejecutar el servidor en localhost?
Corre el archivo con Python y abre la URL que indica la consola.
python main.py
La app se sirve en http://127.0.0.1:5000. Cambia el mensaje, guarda, reinicia y refresca para ver el nuevo texto. Así probaste en minutos: pip, ambientes virtuales, requirements.txt y tu primer servidor con Flask.
¿Tienes dudas o quieres mostrar lo que construiste? Comparte tus preguntas y avances en los comentarios.
Era lo que buscaba, me di cuenta que source no existe en la consola de windows i intenté buscar una solucion alterna, pero tambien me fije que el va hacía otra ruta para “activar el entorno”, y yo tenía la carpeta “Scripts” , Buen aporte! 😃
En mi caso tengo OSX al tener instaladas la version 2.X y 3.X a la hora de ejecutar python debo diferenciar con cual version quiero trabajar (2.X) o python3 (3.X)
pip
Es una utileria de python para manejar los requerimientos de nuestra aplicación
pip freeze
Lista las extensiones instaladas en nuestro systema o entorno virtual activo
pip freeze > requirements.txt
Hace que el listado de extensiones instaladas en nuestra aplicaciones se guarden en un archivo de texto para recrear facilmente nuevos entornos con todas las dependencias de nuestra aplicacion
pip install -r requriments.txt
Instala todos los requerimientos que estan en el archivo ‘requeriments.txt’
source .venv/bin/activate
Activa un entorno virual para linux que se encuentra dentro de nuestro directorio actual y que esta en un directorio oculto llamado ‘.venv’
.venv\Scripts\activate
Activa un entorno virtual en sistemas windows que se encuentra en nuestro directorio actual
GRACIAS
Para los que no trabajan con UNIX y trabajen con el cmd de Windows pongo los comandos equivalentes.
UNIX WINDOWS
which where
pwd echo%cd%
Finalmente para activar el ambiente virtual:
venv\Scripts\activate
“venv” corresponde al nombre de tu ambiente creado.
muchas gracias
te amo
Si no les funciona el comando “pip freeze” o “pip3 freeze”, recuerden instalar freeze tambien en el virtualenv con el comando:
pip3 install freeze
ó
pip install freeze
jajaja y yo seguía intentando como tonto, muchas gracias!
Muchas gracias, me has salvado
Si tienes Python 3.4 o superior, PIP viene incluid por default, puedes consultarlo con el comando pip --version
Gracias por el dato
Gracias, este tipo de omisiones de platzi son bastante molestas.
Para python3 en Ubuntu:
sudo apt install python3-pip
Para comprobar:
pip3 — version
Crear entorno virtual:
python3 -m virtualenv venv
Excelente! Pude instalar el pip3 para python3. Gracias!
Gracias, amo la comunidad de platzi siempre activa = )
esta clase debe estar mas adelante porque la colocaron aqui tan solo esta luego de variables?
Fue colocada aquí porque es opcional la creación de un entorno virtual para realizar tu proyecto, aunque nunca está demás recordarlo por ser una buena práctica 😉
Yo creo ambientes virtuales gracias a ti, Facundo 😎
Hola, les dejo un link para los que estamos usando windows.
Para activar el servidor:
Entren ..\venv\Scripts y ejecuten el archivo activate.bat
buen apunte de ruta .bat
Excelente, no lo hubiera logrado sin estos tips
Ejecutar virtualenv en PowerShell
Hola a todos, hoy intenté correr un entorno virtual en Poweshell sobre Windows 10 y me topé con pared al ejecutar:
.\<venv_name>\Scripts\activate.bat
Sin embargo la solución es:
.\<venv_name>\Scripts\activate.ps1
Para desactivar el entorno, solamente basta con teclear
deactivate
Ojalá sea de utilidad, me tardé un largo rato en encontrar el dato completo para activar y desactivar virtualenv en PowerShell. Deseo que para ustedes sea de ayuda.
Saludos.
Saludos, en Windows 10 me funcionó pero la línea debe ir entre comillas dobles.
Basado en su prueba sería :
C: >".<venv_name>\Scripts\activate.bat"
Genial, me alegra que fue útil. Saludos.
Tengan cuidado al usar pip ya que no es lo mismo que pip3, uno agrega paquetes para python2.x y el otro para python3.x:
Para windows:
Se puede usar pip solo, va a referenciar a pip3 y python3.x por defecto, salvo que tengamos instalado pyhton2.x entonces hay que modificar algunos archivos y ahí se usaría pip para ptython2.x y pip3 para python3.x
En macOS:
viene instalado python2.x por defecto si no me equivoco y para ese se usa pip. En caso de instalar python3.x se usa pip3.
Linux:
Depende de la distro pero ubuntu 18.04 por ejemplo usa python3.6.8 (Importante no borrar ni reemplazar esta version o van a tener errores de ejecucion ya que lo usa el s.o.) y allí igual que macOS, usamos pip3 para estas versiones pyhton3.x y si llegamos a instalar python2.x usamos pip.
ACTUALIZACIÓN Flask 1.0.2
Para correr el código del servidor, en vez de: python
debe ejecutarse de la sgte manera:
FLASK_APP=main.py flask run
Y el código puede acortarse quedando así:
from flask importFlaskapp =Flask(__name__)@app.route("/")def hello_world():return"Hola mundo"
Para usuarios Windows.
El comando equivalente de which es where
De modo que para conocer la ubicación de pip se puede tranquilamente escribir "where pip" en Windows
El comando source es para sistemas tipo UNIX, para los que están corriendo en windows quedaría:
venv\Scripts\activate
Diagonales invertidas, recuerdenlo ;)
También funciona con las diagonales normales, solo hay que cambiar el "bin" por "Scripts"
Esta clase debió estar antes de la clase 4.7 ("Definición a la API pública") v:<
Si vamos a usar python3, entonces usaremos PIP3, ¿Es correcto?
Sí, de preferencia
si!, hay que tener cuidado porque aveces se crea una confusión entre cual usar.
para los que tengan windows o quieran ampliar más el tema de virtualenv:
Gracias !
PIP viene integrado en Python desde la versión 3.4
Sólo deben descargar el instalador de Python desde
Para actualizar PIP, escriban lo siguiente desde la ventana de ejecutar:
python -m pip install -U pip
Muchas grax por el dato
Aqui el codigo del servidor
from flask importFlaskapp =Flask(__name__)@app.route('/')def hello_world():return"Hola Mundo!!!"if __name__ =='__main__': app.run()
así lo tengo tal cual y no me corre 😦 . simplemente en consola no me muestra nada, ni running, ni la dirección ip ni nada 😦
yo valide los espacios entre cada codigo y ya me funciono, tiene que haber espacios por eso eel profesor deja 2 lineas por instruccion