Configuración para que la instalación de pip pueda funcionar desde github
Nos gustaría usar pip con github para instalar paquetes privados en nuestros servidores de producción. Esta pregunta se refiere a lo que debe estar en el repositorio de github para que la instalación sea exitosa.
Asumiendo la siguiente línea de comandos (que autentica bien e intenta instalar):
pip install git+ssh://[email protected]/BlahCo/search/tree/prod_release_branch/ProductName
¿Qué necesita residir en el ProductName? ¿Es el contenido de lo que normalmente estaría en el archivo tar después de ejecutar setup.py con la opción sdist, or es el tar real.archivo gz, o algo más?
Estoy preguntando aquí porque he probado varias variaciones y no puedo hacer que funcione. Cualquier ayuda apreciada.
4 answers
Necesita todo el paquete python, con un archivo setup.py
en él.
Un paquete llamado foo
sería:
foo # the installable package
├── foo
│ ├── __init__.py
│ └── bar.py
└── setup.py
E instalar desde github como:
$ pip install git+https://github.com/myuser/foo.git@v123
or
$ pip install git+https://github.com/myuser/foo.git@newbranch
Más información en https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-23 09:55:24
Tuve un problema similar cuando tuve que instalar desde github repo, pero no quería instalar git , etc.
La forma sencilla de hacerlo es usando el archivo zip del paquete. Añadir /zipball/master
a la URL del repositorio:
$ pip install https://github.com/hmarr/django-debug-toolbar-mongo/zipball/master
Downloading/unpacking https://github.com/hmarr/django-debug-toolbar-mongo/zipball/master
Downloading master
Running setup.py egg_info for package from https://github.com/hmarr/django-debug-toolbar-mongo/zipball/master
Installing collected packages: django-debug-toolbar-mongo
Running setup.py install for django-debug-toolbar-mongo
Successfully installed django-debug-toolbar-mongo
Cleaning up...
De esta manera harás que pip funcione con los repositorios de código fuente de github.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-07-28 14:52:29
Si desea usar el archivo requirements.txt
, necesitará git
y algo como la entrada de abajo para obtener anónimamente la rama maestra en su requirements.txt
.
Para la instalación regular:
git+git://github.com/celery/django-celery.git
Para "editable" instalar:
-e git://github.com/celery/django-celery.git#egg=django-celery
El modo editable descarga el código fuente del proyecto en ./src
en el directorio actual. Permite que pip freeze
muestre la ubicación correcta del paquete en github.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-12 16:24:01
Clona el repositorio de destino de la misma manera que clonas cualquier otro proyecto:
git clone [email protected]:myuser/foo.git
Luego instálalo en modo de desarrollo:
cd foo
pip install -e .
Puede cambiar cualquier cosa que no desee y cada código que use el paquete foo
usará código modificado.
Hay 2 beneficios de esta solución:
- Puede instalar el paquete en su directorio home projects.
- El paquete incluye
.git
dir, por lo que es un repositorio Git normal. Usted puede empujar a su tenedor de inmediato.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-01 09:16:16