Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Instalación de dependencias con pip

6/21
Recursos

Aportes 139

Preguntas 81

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Básicamente, pip es como el npm de JavaScript, y el archivo requeriments.txt es como el package.json de JavaScript.
.
Es importante recordar que esto se debe correr con el entorno virtual activado (avenv), de esta manera todas las dependencias que instalemos se guardaran para este entorno virtual (de lo contrario se guardarían de manera global, que es justo lo que no queremos).
.
Algo importante, si estás manejando git, es bueno siempre ignorar la carpeta venv, esto porque realmente no nos importa subir todo eso al repositorio, puedes mirarlo como que venv es el node_modules de JavaScript, a fin de cuentas, cualquier otro programador que trabaje con nuestro código creará su propio entorno virtual e instalará las dependencias que dejamos en nuestro requeriments.txt.
.
Y un dato curioso es que, el operador > en la terminal es algo especial de UNIX, ya que este operador lo que hace es redirigir la salida de cualquier comando hacia donde lo mandes, por defecto la salida es en la terminal, pero al usar > le dijimos a la terminal que, en lugar de que la salida sea en la terminal, que se redirija al archivo requeriments.txt 👀. Si quieren jugar con ello, pueden hacerlo con este ejemplo: ls -al > test.txt, eso creará un archivo llamado test.txt, y si lo abren verán cómo es que ese comando funciona 😄

Resumen
|
Pip (package installer for python) Nos permite descargar paquetes de terceros para utilizarlos en nuestro enviroment, ademas se puede definir una versión especifica del paquete.
|

  • pip install <paquete> instala el paquete(pandas , matplotlib, bokeh, etc) que se especifique

  • pip freeze muestra todos los paquetes instalados en tu ambiente virtual

|
Si quisiéramos que alguien mas pueda ejecutar nuestro proyecto es importante compartir que librería y versión hemos empleado; eso se realiza con el comando:

pip freeze > requirements.txt

El resultado de pip freeze se escribe en requirements.txt (puedes usar otro nombre pero el mostrado es una buena practica)
|
para instalar paquetes desde un archivo como requirements.txt ejecutamos:

pip install -r requirements.txt 

Cuanto más sé de Python más quiero saber. Gracias Facundo.

Al momento de crear el archivo requirements.txt me salía acceso denegado. La solución fue desactivar el antivirus al momento de crearlo!

(venv) λ pip freeze > requirements.txt
Acceso denegado.

Módulos populares

Si bien pip puede instalar paquetes de Python, Pipenv es una herramienta de nivel superior que simplifica la administración de dependencias para casos de uso comunes.

Instalar Pyenv:

$ pip install --user pipenv

Instalar dependencias:

$ pipenv install "dependencia"

This does a user installation to prevent breaking any system-wide packages. 
If pipenv isn’t available in your shell after installation, 
you’ll need to add the user base’s binary directory to your PATH.

On Linux and macOS you can find the user base binary directory
 by running python -m site --user-base and adding bin to the end. 
For example, this will typically print ~/.local 
(with ~ expanded to the absolute path to your home directory) 
so you’ll need to add ~/.local/bin to your PATH. 
You can set your PATH permanently by modifying ~/.profile.

On Windows you can find the user base binary directory 
by running py -m site --user-site and replacing site-packages with Scripts. 
For example, this could return C:\Users\Username\AppData\Roaming\Python36\site-packages 
so you would need to set your PATH to include 
C:\Users\Username\AppData\Roaming\Python36\Scripts. 
You can set your user PATH permanently in the Control Panel. 
You may need to log out for the PATH changes to take effect.

pip

  • Es un manejador de dependencias, es decir un paquete que nos permite instalar otros paquetes dentro de nuestro entorno virtual (o de manera global si prefieres)
  • Para instalar un paquete usamos el comando pip install <nombre_paquete>
  • Para conocer las dependencias instaladas en el ambiente virtual usamos el comando pip freeze
  • Puesto que necesitamos compartir las versiones de los paquetes que estamos utilizando en el proyecto (trabajo colaborativo) guardamos las versiones de los paquetes a un archivo txt: pip freeze > <archivo.txt> (normalmente requirements)
  • Para instalar las dependencias desde un archivo de texto usamos el modificacor -r (read): pip install -r <archivo.txt>

Si como yo, usas Linux y tuviste el error de EnvironmentError: [Errno 13]
Y tampoco te funcionó la sugerencia de --user
La solución es entrar al archivo pyvenv.cfg
Hacer esta modificación: include-system-site-packages = true
Apagas el entorno virtual, lo vuelves a encender y ya podrás descargar módulos en tu proyecto de Python 😄

Módulos populares

Request: Usado para peticiones HTTP.
BeautifulSoup4: Permite extraer contenido HTML, se usa para hacer web scraping.
Pandas: Se usa para manipular y analizar un gran conjunto de datos.
Numpy: Usada para estructuras de datos y tiene funciones matemáticas de alto nivel.
Pytest: Permite hacer testing a nuestro código.

Esta no suele ser la mejor manera de crear un archivo requirements.txt porque las versiones que te pone en el archivo suelen ser específicas para tu distribución.
Es decir que si yo creo el requirements.txt en ubuntu y luego quiero crear el ambiente virtual con ese requirements.txt en windows es probable que falle.

Lo mejor es que el requirements.txt contenga sólo los nombres de los paquetes que tú instalaste manualmente y no con las versiones exacta, usualmente sólo la versión mayor y menor. Por ejemplo:
pandas=1.2 #Instala una version 1.2.lo mejor compatible con tu SO
o
pandas~=1.2 #Instala una version compatible
pero no
pandas=1.2.21a14f
porque esta ultima puede que sea una versión específica de tu distribución

Un poco de historia.
Pip y venv originalmente no hacían parte de Python, requerían una instalación separada. En las últimas versiones se agregaron al núcleo de Python.

Con el comando show es posible ver información más detallada de los paquetes instalados, por ejemplo del pytz:

$ pip show pytz
Name: pytz
Version: 2021.1
Summary: World timezone definitions, modern and historical
Home-page: ht tp://pythonhosted.org/pytz
Author: Stuart Bishop
Author-email: [email protected]
License: MIT
Location: /media/ivan/DATA/proyecto_ejemplo/venv/lib/python3.8/site-packages
Requires: 
Required-by: pandas

Y de six:

$ pip show six
Name: six
Version: 1.15.0
Summary: Python 2 and 3 compatibility utilities
Home-page: ht tps://github.com/benjaminp/six
Author: Benjamin Peterson
Author-email: [email protected]
License: MIT
Location: /media/ivan/DATA/proyecto_ejemplo/venv/lib/python3.8/site-packages
Requires: 
Required-by: python-dateutil

![](

hola tuve el anterior error en mi instalación de pandas, era un bucle infinito que se repetía una y otra vez. luego de buscar en varios foros encontro una solución que me sirvio en mi caso. resulta que yo tenia instalada la version 3.10 de python, en el foro lo que recomiendan es bajar una versión e intentar nuevamente la instalación, instale la versión 3.9.5 y listo problema solicionado de instalo todo correctamente.
NOTA: deben crear un nuevo entorno con la nueva versión de python para que funcione y borrar el entorno anterior.

pyenv NO es un manejador de dependencias. Es un manejador de versiones de python, es decir te permite instalar, aislar y utilizar diferentes versiones de python en tu sistema, como nvm lo hace en javascript con node por ejemplo. Yo lo uso personalmente en vez de instalar python directamente.

https://github.com/pyenv/pyenv

Otro manejador de dependencias muy utilizado y bueno aparte de pipenv es poetry.

https://python-poetry.org/


En mi trabajo decidimos usar pipenv porque automatiza la agregación de dependencias al archivo de requirements.
Por ejemplo, con pip si yo instalo una dependencia después tengo que hacer el pip freeze > requirements.txt. Si olvido ese paso instalo la dependencia solo para mí y no funcionará para mis compañeros de trabajo.
Además con pipenv podemos diferenciar fácilmente entre dependencias de desarrollo y de producción para no desplegar con archivos innecesarios, cosa que con pip no encontramos.

🐱‍💻 Instalar dependencias con pip, agiliza el proceso de configuración del proyecto.

pip install pandas

Para los curiosos 🚀:

El flag -r significa requirement, para descargar los requerimientos que estén en un archivo, en dado caso tambien se puede usar el flag –requirement y daria lo mismo escribir:

pip install -r <file>

Que escribir:

pip install --requirements <file>

Esto es solo una duda que tenía y que investigue 😄, si quieres saber mas puedes venir aquí esta es la documentación sobre pip.

INSTALACIÓN DE DEPENDENCIAS POR PIP


Package Install for Python, por sus siglas en inglés, nos permite descargar e instalar paquetes de terceros utilizados en el entorno, generalmente es utilizado en entornos virtuales cuando se requiere de alguna versión de Python en especifico para el correcto funcionamiento de algún programa.

Comandos utlizados:

  1. Instalar un paquete:
pip install <paquete>
  1. Muestra los paquetes instalados en el ambiente virtual
pip freeze
  1. Guarda los nombres de los paquetes instalados en el ambiente virtual en el archivo requirements.txt
pip freeze > requirements.txt
  1. Lee el archivo requirements.txt e instala los paquetes especificados en él.
pip install -r requirements.txt

El web scraping es una técnica que sirve para extraer información de páginas web de forma automatizada. Si traducimos del inglés su significado vendría a significar algo así como “escarbar una web”.

Su uso está muy claro: podemos aprovechar el web scraping para conseguir cantidades industriales de información (Big data) sin teclear una sola palabra. A través de los algoritmos de búsqueda podemos rastrear centenares de webs para extraer sólo aquella información que necesitamos.
https://sitelabs.es/web-scraping-introduccion-y-herramientas/

Instalador de dependencias con pip

Una buena práctica es usar el paquete pip solo en el entorno virtual a trabajar

Para ver los paquetes instalados se usa el comando:

pip freeze

Para instalar paquetes se usa el comando del siguiente ejemplo

pip install pandas 

Para compartir un proyecto con otra persona, donde esta deba tener la misma versión, con las mismas dependencias y caracteristicas, se usa:

pip freeze > requirements.txt

Este guarda en un archivo txt las dependencias necesarias

Si la otra persona necesita instalar las dependencias, debe ejecutar el siguiente comando en su entorno:

pip install -r requierements.txt

Módulos populares
o Requests y BeautifulSoup4: Modulos que sirven para hacer tareas de web scraping
o Pandas y Numpy : Usadas en la ciencia de datos
o Pytest: Sirve para organizar testing

  • Creación del entorno virual: python3 -m venv <nombre>.
  • Instalar paquete: pip install <paquete>.
  • El archivo requirements.txt contiene la información de los paquetes que necesita el proyecto para funcionar.
  • Crear requirements.txt: pip freeze > requirements.txt.
  • Instalar modulos desde el archivo requirements.txt: pip install -r requirements.txt

COMANDOS ÚTILES PARA LA INSTALACIÓN DE MÓDULOS

//Vemos los módulos que tenemos instalados en nuestro entorno virtual 
pip freeze

// Nos muestra los comandos y sus usos
pip3

//Instalamos el modulo pandas
pip install pandas

//guardamos las dependencias o módulos que usamos en nuestro proyecto
pip freeze > requirements.txt 

//Instalamos los requerimientos (requirements.txt)
pip install -r requirements.txt

Es necesario a tener en cuenta que si cuentas con un antivirus fuerte, puede que lo capte como virus al modulo que estas instalando.** A mi me pasó!**

Módulos por funciones:
Requests y BeatifulSoup4: Web Scrapping
Pandas y Numpy: Utilizados en DS para usar los datos, llevarlos a Python, limpiarlos, manejarlos, acomodarlos de la forma en que necesitemos para poder trabajar.
Pytest: Testing

Entendido dejo conda y pip

#conda
conda list
conda install pandas
conda env export --from-history --file environment.yaml
cat environment.yaml
conda env create --file environment.yaml
#venv
pip freeze
pip install pandas
pip freeze > requeriments.txt
cat requeriments.txt
pp install -r requeriments.txt

:p

Para mostrar de una manera más “estructurada” la lista de paquetes instalados por pip, en lugar de realizar pip freeze, se puede ejecutar el siguiente comando:
pip list

al que le salga el siguiente error:

λ pip freeze > requirements.txt
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='cp1252'>
OSError: [Errno 9] Bad file descriptor

usar dos >> en vez de uno solo, de esta manera:

 pip freeze >> requirements.txt

Instalador de dependencias PIP

Package Installer for Pyhton: manejador de paquetes

Modulos populares:

  • Requests → web scraping
  • BeatifulSoup4 → web scraping
  • Pandas → manejar datos
  • Numpy → manejar datos
  • Pytest → Testing

Comandos:

  • pip install <paquete> instala librerías (pandas , matplotlib, bokeh, etc) que se especifique
  • pip freeze muestra todos los paquetes instalados en el ambiente virtual

Exportar las dependencias para el proyecto:

pip freeze > requirements.txt

Para instalar paquetes desde un archivo como requirements.txt ejecutamos:

pip install -r requirements.txt

Instalación de dependencias pip

Dentro de python existe un montón de códigos escrito por otras personas para instalarlas de manera externa.

  • esto se llama instalador de dependencias, el más popular es pip (Package Installer for Python)
  • Módulos populares
    • Request (web scraping)
    • BeautifulSoup4(web scraping)
    • pandas (base de datos)
    • Numpy(base de datos)
    • Pytest (testing)

Pip3

Es una herramienta que deberíamos usar en nuestro entorno virtual y nunca fuera del mismo:

pip3 freeze -> ver que módulos tenemos instalados en el momento

instalar pandas:

pip3 install pandas

una vez ya instalado, lo podemos utilizar en todos los archivos python que queramos en esta carpeta
PD: pandas instala muchos módulos para funcionar

<h5>¿Cómo compartir el proyecto desarrollado con un compañero?</h5>

Para compartir el archivo de dependencias con otra persona en otro lugar para instalar nuestras dependencias

pip3 freeze > requirement.txt

guardar la dependencia con sus mismos valores para repetirlos con otras personas xD
A la hora de compartir el proyecto con la otra persona va a poner

pip3 install -r requeriment.txt

Esto hará que se instale todo lo escrito en el requeriment.txt

Para crear un alias permanente en Linux se debe guardar en el archivo de perfil de configuración de shell. Estos pueden ser.

  • Bash – ~/.bashrc

  • ZSH – ~/.zshrc

  • Fish – ~/.config/fish/config.fish

Entonces los pasos serían los siguientes:

  1. Abrir el archivo de perfil de configuración de shell.
$ vim ~/.bashrc
  1. Buscar un lugar en el archivo donde mantener el alias.
alias home=”ssh -i ~/.ssh/mykep.pem tecmint@192.168.0.100alias ll="ls -alF"
  1. Guardar el archivo.
$ source ~/.bashrc

Existen otras herramientas de instalación de paquetes que nos permiten opciones más complejas, pero al fin y al cabo, con pip también podemos lograr lo básico para muchos cursos y proyectos, normalmente los demás instaldores, tienden a ser para situaciones específicas.

Web scrappig:

  • Requests
  • BeautifulSoup4

Datos:

  • Pandas
  • Numpy

Pruebas

  • Pytest

hola hice esta función en bash (linux/Mac) que busca el archivo activate independientemente de como se llame tu carpeta del venv

startvenv ()
{
    source $(find "${1-.}" -path '*/bin/activate') 2> /dev/null || echo "env not found"
}

Como instalarlo?

  • con tu editor favorito (coff, coff, vim) abres el archivo de configuration vim ~/.bashrc
  • te vas al final del archivo y pegas la función
  • recargas tu consola con source ~/.bashrc
  • listo

Como usarlo

  • te vas a tu proyecto cd /path/de/tu/proyecto
  • corres startvenv
  • si tu carpeta de venv se encuentra en el directorio padre puedes usar startvenv ..

Explicacion

  • la funcion usa el comando find
  • find busca el -path que termine en /bin/activate
    • un ejemplo sería tu-projecto/venv/bin/activate
  • se usa el $(tu-comando) para que se ejecute lo que se encuentre dentro de los parentesis y sirva de argumento para el siguiente comando. Esto se conoce como sub-shell. Al ejecutarse quedaría así
    • source $(find */bin/activate)
    • source /path-tu-projecto/venv/bin/activate

dejaré hasta aquí la explicación. Si interesa, seguire con el ${1,.}, 2> y el ||

El mejor es anaconda.

Pytest, para hacer testing.

Me hubiera servido saber todo esto en la Universidad. Gracias Platzi y Facundo por este contenido tan útil. 💚

Instalar dependencias con PIP

  • Activamos el entorno con el alias que hemos creado
avenv
  • Ingresamos el comando para instalar las dependencias de Pandas (Librería de análisis de datos)
pip install pandas
  • Chequeamos si se instaló correcto con el comando
pip freeze
  • Pasar a nuestro proyecto las dependencias en un archivo de texto para que se ejecute cuando sea necesario el proyecto en otra maquina
pip freeze > requirements.txt
  • Si necesitamos instalar las dependencias en otra maquina o en otro entorno virtual se ejecuta el siguiente comando siguiendo el archivo de texto requirementes.txt
pip install -r requirements.txt

pip = instalador de paquetes que no están instalados por default

  • Requests
  • BeautifulSoup 4
  • Pandas
  • Numpy
  • Pytest

requirements.txt archivo con las características de los paquetes que se necesitan para compartir el proyecto
y se utiliza el comando pip install -r requirements.txt se instalaran los mismos módulos

pyenv
pipenv

  • Pip (package installer for python), manejador de paquetes de python.
# Instalar paquetes en python
pip install package
# Revisar paquetes instalados en python
pip freeze
pip freeze > requirements.txt

Definitivamente javascript y python tienen algunas similitudes en cuanto a los manejadores de paquetes / dependencias, emocionado por aprender más

Que es Pip dentro de Python?

Dentro de Python tenemos un monton de modulos que ya vienen de fabrica y que podemos usar para poder hacer codigo de forma mas facil. Pero hay ciertos modulos que no vienen de fabrica y debemos instalarlos para poder realizar tareas especificas.

Para esto debemos utilizar un manejador de dependencias o también lo podemos llamar un Instalador de Paquetes. En ingles lo llamariamos PIP (Package Installer for Python).

Este es un modulo que viene de fabrica dentro de Python que se usa para instalar otros modulos.

Modulos Populares:

  • Requests
  • BeutifulSoup4
    Se usan para el WebScrapin
  • Pandas
  • Numpy
    Se usa para la ciencia de Datos
  • Pytest
    Se usa para el testin

PIP es una herramienta que va acompañada con el Entorno Virtual por lo cual siempre es bueno usarla dentro del mismo.

Para poder ver cuales son los modulos que estan instalados dentro del Entorno Virtual usamos el comando pip freeze. Para Linux o Mac si no funciona el comando pip usaríamos el comando pip3

Vamos a instalar la dependencia de pandas como ejemplo usando el comando pip install pandas.

En el momento que se este instalando pandas nos vamos a dar cuenta que se van a isntalar otros modulos ya que, pandas es un modulo complejo que necesita de estos modulos extra para que pueda funcionar.

Que pasaria si quieres compartir tu proyecto con otro desarrollador que está en otra parte del mundo?

Para solucionar este problema debemos guardar las dependencias del proyecto dentro de un archivo txt con el comando pip freeze > requirements.txt . Esto guardará las dependencias.

Si queremos verificar que se guardaron las dependencias dentro del archivo usamos el comando cat requirements.txt y de esa forma podremos ver cuales son las dependencias que se guardaron.

Una vez hagamos esto y lo enviemos al otro desarrollador a través de un repositorio remoto como Github la otra persona solo tendria que instalar las dependencias con el comando pip install - r requirements.txt y podrá ejecutar el programa sin problemas.

Además del instaladora de dependencias pip también existe PYENV que son un poco más complejos de pip. pip es el más popular y es el que vamos a usar la mayoría de las veces

Acá los módulos o librerías más poderosos para Data Science:

https://techvidvan.com/tutorials/python-libraries-for-data-scientist/

He aprendido una cosita de mucho interés del comando ‘pip’. Pero quiero hacer una observación, para trabajar en Python (y llevo más de 2 años haciendolo a modo personal y no profesional) para naa se hecha de menos trabajar con comandos unix/linux, en este curso mi interés es aprender mejor Python, de querer saber sobre comandos de sistemas operativos (como DOS, linux, u otros) me paseo por los muchos tutoriales que hay de esos temas. Para la comunidad windows, el equivalente de ‘cat’ es ‘type’ (osea 'type requirements.txt) para ver el contenido del archivo de texto, el uso de ‘>’ no es más que un redireccionador de la salida a cónsola hacia un archivo, creandolo en el proceso. Sobre todos estos comando hay un “universo”. Y por cierto, vengo de los inicios de DOS y su manejo vía comandos (osea, tengo mis añitos en esto de las computadoras).

Me siento muy feliz por entender lo de módulos

Si alguien no consigue fácilmente el símbolo " \ " en la portátil, prueben con Alt + 92 😃

Conda también es un manejador de paquetes el cual es regularmente usado en el ámbito del Data Science.

los puros comandos del poderosisimo linux

Manejadores de paquetes

pip es como maven para Java

PIP == Package Installer for Python

Un articulo interesante para saber como podemos aplicar pandas en múltiples áreas del conocimiento 😉 de paso practicamos Ingles.

https://medium.com/analytics-vidhya/introduction-to-pandas-90b75a5c2278

Excelente clase 😃 ya estuve un rato experimentado XD

Una buena dependencia que les serviria es pylint, un eslinter para Python, ayuda mucho en la sintaxis y depuracion

#Instalar pandas desde pip3
$pip3 install pandas
#Ver modulos que se instalaron
$pip3 freeze
#Guardar resultado para compartir con otros usuarios
$pip3 freeze > requirements.txt
#revisar requirements
$cat requirements.txt
#Instalar en otro entorno
$pip3 install -r requirements.txt

Para instalar las dependecias compartidas: pip install -r requirements.txt

Comando para guardar en formato ".txt" todas las depencias que usamos en nuestro ambiente de trabajo, en el caso que queramos compartir con otro colaborador: pip freeze > requirements.txt

Si estás en Mac y no tienes instalado pip, así lo puedes instalar:

Ejecuta en la consola:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

Después:

python3 get-pip.py

Y ahora sí puedes ejecutar:

pip freeze

Momento de los requerimientos.txt

Que es PIP

Hay ciertos módulos que no vienen por default en python, pero hay otros códigos que tenemos que instalarlas, manejador de paquetes PIP, Package Installer python

Módulos populares

Requests
BeautifulSoup4
Pandas
Numpy
Pytest

Pip install panda -> Para instalar el módulo de panda

Panda es un código muy complejo que utiliza otros módulos

Pip freeze -> para ver que paquetes están instalados

Para compartir un proyecto con alguien, esta persona debe tener los mismos módulos que utilizamos en el proyecto con las mismas versiones

pip freeze > requirements.txt creamos la carpeta con todos los módulos y sus versiones

Pip install -r requirements.txt -> Para instalar los módulos

Otras alternativas a PIP también podemos utilizar PYENV

[email protected] no sobra decirles que si quieren ahondar en que significa cat y > del minuto 8:09 se hagan el curso de introducción a la linea de comandos.

Instalación de dependencias con pip
PIP significa Package Installler for Python y nos sirve para instalar módulos para poderlos usar en nuestro proyecto, para utilizarlo simplemente debemos de seguir la siguiente sintaxis:

pip install <nombre_del_modulo>

El comando pip freeze nos muestra cuales son los módulos que tenemos instalados.
Es buena practica tener un archivo en el guardemos cuales son todos los módulos que tenemos instalados en nuestro entorno y así cada que alguien quiera copiar nuestro proyecto no tendrá dificultades al instalar las dependencias necesarias, los módulos se suelen guardar en un archivo con el nombre “requirements.txt” y lo podemos crear con ayuda del comando pip freeze y el operador > y quedaría de la siguiente manera:

pip freeze > requirements.txt 

Cuando la otra persona quiera copiar nuestro proyecto simplemente deberá de ejecutar el siguiente comando y se instalaran las dependencias en sus versiones correspondientes:

pip install -r requirements.txt

¿Qué es Pip?

Pip es un sistema de gestión de paquetes para instalar y administrar librerías en Python, esto nos ayuda a tener organizadas las librerías externas que usemos para nuestro proyecto. Muchas de las librerías que se pueden instalar se pueden encontrar en PyPI.
Instalar Pip

Pip viene instalado por defecto desde la versión 2.7.9 de Python 2 y desde la versión 3.4 de Python 3 por lo que no haría falta realizar ningún paso adicional si ya tienes instalado Python.
Comandos más usados

A continuación vamos a explicar los comandos más usados para familiarizarte con este comando. Yo voy a usar pip3 porque quiero forzar a que se instalen en la versión 3 de Python, si queréis instalarlo en otra versión podéis añadirla a pip o usando simplemente pip se instalá en la versión por defecto de tu equipo.

Instalar un paquete:

pip3 install <nombre-paquete>

Eliminar un paquete:

pip3 uninstall <nombre-paquete>

También podemos instalar paquetes desde un archivo como se muestra con el siguiente comando:

pip3 install -r requirements.txt

Dentro de nuestro archivo listaremos los nombres de los paquetes que queremos instalar y listo, además también podemos añadir la versión del paquete si tenemos algún problema de compatibilidad, si no nos instalará la última versión de la librería.

Un ejemplo de un archivo requirements.txt (le podéis poner el nombre que queráis) sería este:

Django2.2.11
django-ckeditor
5.9.0
django-environ0.4.5
django-js-asset
1.2.2
Pillow7.0.0
psycopg2
2.8.4
pytz2019.3
sqlparse
0.3.1
Unidecode==1.1.1

Para saber los paquetes que tenemos instalados usaremos freeze.

pip3 freeze

Este comando nos mostrará una lista con las librerías y sus versiones.

Vale, esto está muy bien pero de esta forma estaremos instalando estas librerías de forma global en nuestro equipo y ahora os preguntaréis ¿Cómo instalar librerías en un proyecto en concreto?

muy buena clase

Existen modulos (librerias) que vienen por defecto en nuestra instalación de Python, tales como:

  • random
  • Tkinter
  • math
  • el mismo PIP

Pero existen otras que no vienen por defecto y para poder instalarlas se tienen que realizar de manera externa.

¿Cómo las instalamos?

Con una manejador de dependencias, un instalador de paquetes, el más popular es PIP (Package Installer for Python) que es un modulo que nos sirve para instalar y viene de fábrica.

Modulos que vienen por defecto y que son populares al momento de codificar

  • Requests (Se utiliza para hacer webscrapping)
  • BeautifulSoup4 (Se utiliza para hacer webscrapping)
  • Pandas (Ciencia de datos)
  • Numpy (Ciencia de datos)
  • Pytest Sirve para realizar testing

¡Importante!

Al momento de instalar las librerias externas dentro de nuestro entorno virtual, estas solo se instalan dentro de nuestro entorno virtual, sin afectar al resto de proyecto o a la instalación de Python en general.

Ver los modulos que fueron instalados

# Hacemos uso de
pip freeze
# SI no hay nada instalado, no muestra nada :v

Para instalar una libreria

[llamado al modulo de instalacion] [instalar] [nombre_libreria]
pip install pandas

Si nuestra libreria a instalar requiere de otras librerias para funcionar, también las instalara.

En el caso de de Pandas también se instalo numpy, python-dateutil, pytz, six

Compartir las dependencias de nuestro proyecto

En los trabajos colaboratiovos pasa que otro programador requiera tener las mismas herramientas y versiones de nuestra dependencias (librerias) para que pueda ejecutar nuestro programa.

Por ello es necesario saber y poder generar las depedencias de los proyectos, para ello usamos

pip freeze > nombre_archivo.txt

# Y para el trabajo es recomendable utilizar
pip freeze > requirements.txt

Instalación de nuestras dependencias

pip install -r nombre_archivo.txt

# Para este ejemplo en particular
pip install -r requirements.txt

**Cómo compartir las dependencias que tienes instaladas de python con otra persona que está en otro lugar? (ej: cuando trabajas remoto) **

<1. `pip freeze`
para ver que dependencias tienes instaladas. 
2. `pip freeze > requirements.txt`
este archivo lo que va a hacer es guardar las dependencias en un texto para poder compartirlo con otras personas. 
3. `ls`
para ver que hay dentro la carpeta y si se creo requirements.txt
4. `cat requirements.txt`
Para ver que hay dentro de esa carpeta. Deben salir las dependencias. 
5. `pip install -r requirements.txt`
con esta linea instalará las dependencias. FIN. > 

1. Listar en los entornos:

  • Listar con ls

2 entrar al alias qu creamos:

  • avent

3 instalar pip en nuestro entorno

  • pip freeze

instalar pandas

  • pip install pandas

¿Qué es PIP?

Módulos que no vienen con Python por defecto, sino que hay que instalarlos por aparte para lo cual vamos a hacer uso de un ‘manejador de dependencias’, uno de los mas populares es PIP: Package Installer for Python y viene de fabrica.

Algunos Modulos populares:

  • Request
  • BeautifulSoup4
  • Pandas
  • Numpy
  • Pytest

Comandos

pip freeze: ver los modulos/ dependencias instalades
pip install 'módulo': instalar un módulo en python
pip > requirements.txt: generar un archivo para compartir con la información de las dependencias instaladas.
pip install -r requirements.txt: instalar las dependecias del archivo generado

Tuve algunos problemas para instalar pandas en mi venv [macOS big sur V 11.6.1]

WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1125)'))': /simple/pandas

Solución:

pip install --trusted-host=pypi.org --trusted-host=files.pythonhosted.org pandas

PIP -> PACKAGE INSTALLER FOR PYTHON
Es un módulo que viene dentro de Python para que podamos instalar otros módulos.

  • pip freeze-> Muestra los módulos / dependencias instaladas.
  • cat -> Para abrir un archivo
  • Para que alguien pueda ver las dependencias que estoy utilizando en mi proyecto y las pueda utilizar -> pip freeze > requirements.txt
  • Para instalar estas dependencias: pip install -r requirements.txt

Investigué otros manejadores de dependencias:
aqui el blog completo

  • Pyenv

  • Poetry

para poder usar bien el entorno virtual y poder instalar pip asegúrense que el entorno virtual este en la carpeta Scripts ahí es donde a mi me funciona y no se por que pero prueben jajaa

Para aquellos que tienen Python 3.10 puede que el comando

<pip install pandas> 

no funcione correctamente, se debe instalar primero pipwin con el comando

<pip install pipwin> 

y a continuacion

<pipwin install pandas> 

En caso de que estén usando (por alguna razón) PowerShell desde la terminal nativa y se encuentren con un error por “Execution policy”, encontré una solución en StackOverflow

pip es python como
npm a javascript y a su vez, como
composer a php

primer acto:
ocupo terminal linux

  • fracaso
    segundo acto:
    ocpupo terminal PowerShell
  • fracaso
    tercer acto:
    ocupo terminal cmder
  • listo voy aqui por ahora 😂

Si quieren ver el archivo txt en el cmd de windows:

more requirements.txt

Pip nos ayuda a descargar paquetes de terceros para utilizarlos en nuestro env

Compartiendo mis modulos: Creando archivo: "pip freeze > requitements.txt". Instalando modulos del otro proyecto: "pip install -r requirements.txt"

numpy==1.21.2
pandas==1.3.4
python-dateutil==2.8.2
pytz==2021.3
six==1.16.0

🤖
En Mac funciona bien pip

🤖
Como en consola que instalamos Homebrew
🤖

Pip (package installer for python) Nos permite descargar paquetes de terceros para utilizarlos en nuestro enviroment, ademas se puede definir una versión especifica del paquete.

El flag -r segun la documentacion:
-r, --requirement <file>

Install from the given requirements file. This option can be used multiple times.

Uhmm no se porque no pude hacerlo con la consola de Git Bash… creo que me hacia un bucle y se volvi a descargar todos los paquetes… pero me cambie a la PowerShell y me funciono sin problemas… Con todo dejo este video que me ayudo a repetir los pasos

Módulos populares

Commands used in class:

pip freeze # This command shows the installed modules in the venv.
pip3 freeze # Used for Linux. Maybe the <pip freeze> doesn't work in that OS.

# How to install Pandas
pip install pandas

pip freeze > requirements.txt # Outputs the modules and their versions in a .txt file.

# How to install the modules and their version from a .txt file.
# This is the way how other devs (when working together or just sharing)
# can run the project with the same environtment.
pip install -r requirements.txt

Notas 😄
Instalación de dependencias con pip.

  • pip dentro de Python es el Package Installer for Python 😃. Esto es ya que hay módulos de Python que no están instalados de fábrica como Pandas o Numpy. Hay varios manejadores de módulos, como pio, conda o pyenv.
  • Debemos usar pip dentro del entorno virtual donde queremos instalar dependencias.
  • pip freeze nos dice que módulos tenemos instalados en ese momento.
  • pip install <nombre de módulo> para instalar un módulo. Es muy similar a npm de JavaScript.
  • Cuando instalas un módulo complejo (como Pandas) podrían instalarse más módulos del que este depende 🧭.
  • Hay un caso particular: Si queremos compartir un proyecto, entonces es necesario que todos los desarrolladores tengan exactamente el mismo entorno virtual. Para eso, hacemos pip freeze > requirements.txt. Si tiene formato raro, también puedes usar pip list --format=freeze > requirements.txt.
  • Luego, otra persona puede tener el mismo entorno con pip install -r requirements.txt.

Muy buena clase.

Si tienes una distribución Linux basada en Debian, sólo tienes Python 3 instalado y quieres usar libremente el comando python en lugar de python3 basta con instalar el paquete python-is-python3.

buenisimo c: dan ganas de aprender con facundo

Para quienes están con O.S. Ubuntu
sudo apt install python3.8 -venv
luego source venv/bin/activate

Instalador de dependencias

  1. Entramos a nuestro entorno virtual porque las dependencias/módulos que vamos a instalar lo necesitamos de manera local en nuestro entorno virtual, llamamos al alias que habíamos creado avenv
  2. Ejecutamos pip = Program Installer for Python el comando install y la librería que queremos instalar pip install pandas en este caso estamos instalando la librería pandas a nuestro proyecto
  3. Comprobamos las librerías que tenemos instaladas en nuestro entorno virtual con el comando pip freeze esto nos muestra las versiones de las librerías que tenemos
  4. Si queremos guardar esas versiones en un .txt para que al momento de compartir nuestro proyecto con alguien más esa persona sepa las versiones que necesita en su entorno virtual para ejecutar nuestro proyecto pip freeze > requirements.txt
  5. Ya después si quieren instalar todas esas librerías con esas versiones específicas ejecutamos pip install con la bandera/modificador -r pip install -r requirements.txt

Es una buena práctica que el archivo donde van a estar nuestras versiones se llame requirements.txt

En php existe composer el cual tambien maneja los paquetes y las dependencias en los proyectos.

Como lo quiero a este profe, explica excelente jaja

Recomendacion, si estan en linux no desinstalen su python, pueden desconfigurar su escritorio como me pasó a mi

Podemos crear un archivo .txt para especificar lo que necesita este proyecto

Pip3 install o pip install > requirements.txt Este comando escribirá todas las dependencias o módulos que necesitamos en el proyecto en caso de que trabajamos con alguien más