Instalación de dependencias con pip - Platzi

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Instalación de dependencias con pip

6/21
Recursos

Aportes 166

Preguntas 95

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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.

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/


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

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

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.

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.

![](

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.

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.

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

pip install pandas

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

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

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

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

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

:p

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

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

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

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

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.

Módulos populares

  • Request: Usado para peticiones HTTP.

  • BeautifulSoup4: Permite extraer contenido HTML, se utiliza para hacer web scraping.

  • Pandas: Se emplea para manipular y analizar un gran conjunto de datos.

  • Numpy: Utilizada para estructuras de datos y tiene funciones matemáticas de alto nivel.

  • Pytest: Permite hacer testing a nuestro código.

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

En linux for windows en ubuntu 20:04 usé
sudo apt-get install python3-pip
luego
sudo pip3 install pandas

Entornos virtuales mas conocidos:

  • Virtualenv

  • Pipenv

  • Conda

Para ver una comparación entre los diferentes Entornos virtuales (pros y cons), pueden consultar: https://www.encora.com/insights/comparing-the-most-popular-virtual-environment-tools-for-python

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. 💚

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

Ahora si se me hace más fácil entender que son dependencias, super buena ayuda

PIP (Package Installer for python)

PIP es una herramienta que va acompañada al entorno virtual (no deferíamos usarla fuera de el)

  • pip freeze | ¿Qué módulos tenemos instalados?

instalamos pandas pip install pandas

compartir archivo de dependencias: pip freeze > requirements.txt para compartirlo con otras personas

  • la otra persona tiene que escribir pip install -r requirements.txt para tener lo mismo instalado

Cuando hice el reto de datacademy hice instalaciones con PIP no sabia todo esto

a fecha de hoy 2/10/2022, me arrojaba error al hacer pip install pandas en macOS, si a alguien mas le sucede ejecuten

pip install --upgrade pip

Con eso vuelvan a correr el pip install pandas y deberia funcionar perfecto

Normalmente, si ya hay instalado un módulo adecuado, intentar instalarlo otra vez no tendrá efecto alguno. Actualizar módulos existentes requiere que se solicite explícitamente:

pip install --upgrade <paquete>

También se puede instalar una versión específica de un paquete ingresando el nombre del paquete seguido de == y el numero de versión:

pip install requests==2.6.0

COMPARTIR DEPENDENCIAS
.
Al momento en el que se comparte el proyecto con otra persona, esta debe tener Python instalado con exactamente las mismas dependencias y los mismos módulos con la misma versión.
.
Para compartir la lista de dependencias del proyecto se puede hacer agregando el nombre de estos módulos a un archivo de texto. Con el comando

pip3 freeze > requirements.txt

Para que la otra persona puede instalar estas dependencias necesarias se puede hacer utilizando el comando

pip3 install -r < requirements.txt

pip freeze >> requirements.txt (para los que no les funciona el comando con solo un simbolo mayor que, usen dos creo que es por tema de antivirus)

Si están en windows 10 y no les sirve cat es porque en windows se usa “type”

hola compañeros, para los que han llevado el curso de data science se encontrarán que una forma que hemos aprendido es el entorno virtual con conda por lo que dejo la solución por si están aventurados sobre wsl:

basicamente el pip es igual al sistema de instalación de conda:

conda install <nombres_de_modulos>

nota: puedes señalar el modulo y su versión especifico al momento de instalar como ejemplo:

conda install python=3.9 pandas=1.2

ademas de puedes eliminarlos para instalar un modulo o libreria diferente en el mismo ambiente creado con el siguiente comando:

conda remove <modulo a eliminar>

ejemplo:
conda remove pandas

si te interesa pasar a un archivo de texto en conda para enviar el ambiente creado a otra computadora, puedes escribir el siguiente comando sugerido por los mismos profesores de las clases en platzi:

conda env export --from-history --file <nombre_archivo.yml>

para finalizar señalaré el comando para crear un entorno con los modulos o librerias que necesitas de un proyecto es con el siguiente comando:

conda env create --file <nombre_archivo.yml>

espero esto te haya dado solución, saludos.

Me salía “Permission denied”

sudo pip3 freeze > requirement.txt

-bash: requirement.txt: Permission denied

Me funcionó esto:

sudo sh -c ‘sudo pip freeze > requirements.txt’

no se porqué… lo saque de stack overflow

NOTA :

  • PIP install <paquete> instala el paquete especificado (Request, BeautifulSoup4, Pandas, Numpy, Pytest, etc).

  • Requeriments.txt este archivo lo que va a hacer es guardar a estas dependencias( Numpy, Pandas, Python-dateutil, Pytz, Six) con sus respectivas versiones para poder compartirlas con otra persona.

Pandas es un módulo muy complejo que utiliza otros módulos aparte para funcionar por si mismo.

pip freeze : Lo que hace es mostrarnos que módulos tenemos instalados en este momento.

Recordemos el módulo random que trabajamos en el curso anterior con el cual nosotros utilizabamos alguna funciones especiales para trabajar con la aleatoriedad, dentro de python nosotros tenemos un montón de módulos, es decir, un montón de código escrito por otras personas que nosotros podemos aprovechar para nuestros proyectos. pero ¿QUÉ PASA? hay ciertos módulos que están dentro de python, es decir, que cuando nosotros instalamos python o cuando creamos un entorno virtual, un python particular para un proyecto nosotros ya lo tenemos instalados, ya vienen de fábtrica. Pero sin embargo,
Hay ciertos módulos, hay ciertos otros, cierto código escrito por otras personas que no están de fábrica con python y que nosotros tenemos que instalarlas de manera externa , y ,como se puede lograr hacer esto; pues se puede utilizar un manejador de dependencia, un instalador de paquetes si le queremos poner ese nombre. El más popular dentro de python es pip porque viene de fábrica y es un módulo que viene adentro de python que está pensado para que nosotros podamos instalar otros módulos que no vienen dentro de python , eso es lo que es pip.
PIP (Package Installer for Python)

MÓDULOS POPULARES :

  • Requests.
  • BeatifulSoup4.
  • Pandas.
  • Numpy.
  • Pytest.

Información resumida de esta clase
#EstudiantesDePlatzi

  • Existen módulos que no vienen de manera predeterminada al momento de instalar Python

  • Manejador de dependencias = Instalador de paquetes. El más conocido es pip

  • PIP = Package Installer for Python

  • Algunos módulos populares para la ciencia de datos son: Pandas y Numpy

  • Si estamos dentro del entorno virtual y utilizamos pip, los módulos se instalarán allí, dentro del entorno virtual y no por fuera

  • Cuando tengamos nuestro proyecto en GitHub es importante tener un archivo .txt para que otros desarrolladores puedan ver que módulos estamos usando y los puedan instalar fácilmente

Es increible nunca pense dedicar tantas horas y estar a gusto haciendolo 😁😁😁

Esta es una buena pagina para crear los git ignore:

Yo seleccione: Linux, Windows, MacOs, python. y con eso me creo el gitignore adecuando para este curso !

¡Hola! Les comparto mis apuntes de la clase. Espero que les sean útiles. 😄

PIPPackage Installer for Python

Existen algunos módulos que no vienen instalados por defecto en Python, es por ello que es necesario instalarlos de manera externa. Para ello es necesario emplear un manejador de dependencias (instalador de paquetes), el más popular dentro de Python es PIP, que viene incorporado en Python de fábrica.

Es decir, PIP es un módulo de Python diseñado para instalar otros módulos que no vienen incluidos en el paquete de instalación principal del lenguaje.

NOTA: PIP es una herramienta que va acompañada del entorno virtual y no debería ser utilizada fuera del mismo, es decir, la instalación de los módulos requeridos debe hacerse dentro del entorno virtual. De lo contrario, los módulos se instalarían de manera global.

Ejemplos de algunos módulos populares que requieren de instalación:

  • Requests (para web scrapping)
  • BeautifulSoup4 (para web scrapping)
  • Pandas (para DS) → incluye: pandas, numpy, six, pytz, python-dateutil.
  • Numpy (para DS)
  • Pytest (para testing)

NOTA: Es posible que algún módulo incluya a otros por defecto, esto sucede porque los necesita para funcionar.

Algunos comandos de PIP

  • Mostrar los módulos instalados dentro del entorno virtual
    pip freeze

  • Instalación de módulos
    pip install pandas

¿Cómo compartir el proyecto con otros desarrolladores?

Para que otro desarrollador pueda ejecutar el proyecto, requiere de las mismas dependencias instaladas en proyecto original.

pip freeze > requirements.txt

Este comando guarda las dependencias instaladas en el entorno virtual, con sus respectivas versiones, en un archivo que pueda ser compartido con otros desarrolladores.

Luego, el desarrollador interesado, para instalar las dependencias necesarias y descritas en el archivo, debe ejecutar el siguiente comando:

pip install -r requirements.txt

NOTA: Para ver el contenido del archivo .txt se puede ejecutar en consola el comando:

cat requirements.txt

Comparto mis apuntes de la clase:

Cómo instalar paquetes Python con requirements.txt

  • Existe una forma mucho más conveniente para descargar e instalar los paquetes necesarios para un proyecto Python. Involucra utilizar un archivo de texto (llamado requirements.txt), en el cual se anotan los paquetes para que pip se encargue de instalarlos de forma automática.

El archivo requirements.txt permite automatizar la instalación de paquetes

  • Generalmente, cuando se está desarrollando algún tipo de software (aplicaciones web, videojuegos), es muy común utilizar un conjunto de paquetes o librerías que ayuden a construirlo con un nivel de calidad aceptable en menos tiempo.

  • Los paquetes necesarios se pueden descargar directamente desde el sitio web; clonar desde un repositorio, por lo general un repositorio Git alojado en Github; o instalarlos directamente usando pip. Sin embargo, este procedimiento manual es muy tedioso y lejos de ser eficiente.

  • Si por alguna razón se pierden los paquetes obtenidos o se necesita utilizar una nueva computadora para continuar con el desarrollo del proyecto, es necesario volver a los sitios web o repositorios y descargarlos de nuevo, uno por uno.

  • El archivo requirements.txt permite automatizar la instalación de paquetes Python y por lo tanto agilizar esta parte del proceso de desarrollo de software.

Cómo utilizar el archivo requirements.txt

  • Hay dos cosas que se deben saber antes de utilizar el archivo requirements.txt. En primer lugar se debe saber el nombre exacto de los paquetes o librerías que se quieren instalar. El nombre se puede buscar en el repositorio PyPi ejecutando el siguiente comando en una terminal:
$ pip search <package>

Es necesario tener instalado pip para poder ejecutar el comando anterior.

PIP es un manejador de paquetes y un instalador de dependencias.
para poder compartir el archivo con otra persona se usa el siguiente comando:

pip freeze > requirements.txt 

con cat se revisa el archivo por dentro
después que se suba el arhivo al Github la otra persona lo puede descargar con:

pip install –requirements.txt 

INSTALACIÓN DE DEPENDENCIAS CON PIP

Estos son mis apuntes!

Me gusta que haber hecho el curso de línea de comandos me sirva bastante c:

Para quien le guste tener la documentación de los lenguajes y frameworks que utiliza a mano existe un programa que se llama Zeal Docs el cual te permite descargar las documentaciones y tiene un buscador super bien hecho para cuando necesitas mirar lo que sea.

Yo lo tengo con la documentación de React JavaScript TypeScript Python CSS y algunos mas.

Lo bueno que se actualiza automáticamente con la documentación que hay en la web oficial pero la tiene descargada para poder usarla sin necesidad de conexión, por otro lado está muy bien cuando ya tenemos un stack de tecnologías mas o menos amplio tener toda la documentación en un solo sitio reunida.

Os dejo la web por si queréis hecharle un ojo https://zealdocs.org/ es completamente gratuita y funciona con Windows, Linux y Mac.

Por otro lado para los que tenga Mac aparte también está Dash que es un poco más completa y tiene integraciones con muchos programas de desarrollo pero esta si cuesta unos 29 euros. https://kapeli.com/dash Por si queréis hecharle un ojo bien un trial gratuito de 1 mes.

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

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

Parcer@s 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