python requirements using git

En algunos proyectos actualmente estoy usando un repo de git como dependencia, ya sea por que es un repo privado o por que no está disponible en pypi.

Cómo se indica una dependencia en requirements.txt:

git+https://github.com/jsenin/pythondependency.git#egg=module
git+https://github.com/jsenin/pythondependency.git@<branch>#egg=module
git+https://github.com/jsenin/pythondependency.git@<commit_hash>#egg=module

Hay que tener en cuenta que si es una dependencia que vamos a editar tenemos que instalarla con ‘-e’

-e git+https://github.com/jsenin/pythondependency.git#egg=module

Para instalar las dependencias usamos pip

pip install -r requirements.txt

Otra forma de instalar estos paquetes es usando setup.py y dependencias. Bien, hay que tener en cuenta que usando el típico script setup.py que usa setuptools (distutils están obsoletas)  instala dependencias y tiene dos modos: python setup.py install y python setup.py develop. La diferencia es que install instala los paquetes sin que sean editables y con develop sí son editables. Además no se genera el wheell ( paquete de instalación ) cosa que con pip sí se hace, con lo que la desintalación es sencilla usando el propio pip. Por otro lado las setuptools generan directorios egg que habrá que borrar a mano si queremos desinstalar. 

Existe una opción de borrar los paquetes instalados con setuptools en modo develop

python setup.py develop --uninstall

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.