Nous aimerions utiliser pip avec github pour installer des packages privés sur nos serveurs de production. Cette question concerne ce qui doit être dans le dépôt github pour que l'installation soit réussie.
En supposant que la ligne de commande suivante (qui s'authentifie très bien et tente d'installer):
pip install git+ssh://git@github.com/BlahCo/search/tree/prod_release_branch/ProductName
Que doit résider dans ProductName? S'agit-il du contenu de ce qui se trouverait normalement dans le fichier tar après avoir exécuté setup.py avec l'option sdist, ou est-ce le fichier tar.gz réel, ou autre chose?
Je demande ici parce que j'ai essayé plusieurs variantes et que je ne peux pas le faire fonctionner. Toute aide appréciée.
-e
option (mode éditable) à pip?pip install git+https://github.com/pypa/pip.git
Source: pip Github repoJ'ai eu un problème similaire lorsque j'ai dû installer à partir du dépôt github, mais je ne voulais pas installer git, etc.
La manière simple de le faire est d'utiliser l'archive zip du package. Ajoutez
/zipball/master
à l'URL du dépôt:De cette façon, vous ferez fonctionner pip avec les référentiels source github.
la source
Si vous souhaitez utiliser un
requirements.txt
fichier, vous aurez besoin degit
quelque chose comme l'entrée ci-dessous pour récupérer anonymement la branche principale de votrerequirements.txt
.Pour une installation régulière:
Pour une installation " modifiable ":
Le mode éditable télécharge le code source du projet
./src
dans le répertoire courant. Il permetpip freeze
de sortir l'emplacement github correct du paquet.la source
#egg=django-celery
? Est-ce un espace réservé?Clonez le référentiel cible de la même manière que vous clonez n'importe quel autre projet:
Installez-le ensuite en mode développement:
Vous pouvez changer tout ce que vous ne voulez pas et chaque code utilisant le
foo
package utilisera du code modifié.Il y a 2 avantages à cette solution:
.git
dir, c'est donc un dépôt Git normal. Vous pouvez pousser à votre fourchette tout de suite.la source
pip
, alors j'ai cloné lepip
référentiel, créé un virtualenv, l'ai activé et l'ai faitpip install -e .
. Puis lepip
dans le virtualenv était en mode développement! Je suis impressionné que cela fonctionne même avec le gestionnaire de paquets lui-même.pip list
, le package en question a des références à la branche Git et au chemin absolu à partir duquel il a été installé. Conserve-t-il des références à celles-ci ou la source peut-elle être supprimée?vous pouvez essayer de cette façon dans Colab
la source