Chcemy używać pipa z githubem do instalowania prywatnych pakietów na naszych serwerach produkcyjnych. To pytanie dotyczy tego, co musi być w repozytorium github, aby instalacja zakończyła się powodzeniem.
Zakładając następujący wiersz polecenia (który uwierzytelnia się dobrze i próbuje zainstalować):
pip install git+ssh://git@github.com/BlahCo/search/tree/prod_release_branch/ProductName
Co musi znajdować się w ProductName? Czy jest to zawartość tego, co normalnie byłoby w pliku tar po uruchomieniu setup.py z opcją sdist, czy jest to rzeczywisty plik tar.gz lub coś innego?
Pytam tutaj, ponieważ wypróbowałem kilka odmian i nie mogę tego zrobić. Każda pomoc doceniona.
-e
opcji (tryb edytowalny) do pipa?pip install git+https://github.com/pypa/pip.git
Źródło: pip Github repoMiałem podobny problem, gdy musiałem instalować z repozytorium github, ale nie chciałem instalować git itp.
Najprostszym sposobem na to jest skorzystanie z archiwum zip pakietu. Dodaj
/zipball/master
do adresu URL repozytorium:W ten sposób sprawisz, że pip będzie działał z repozytoriami źródeł github.
źródło
Jeśli chcesz użyć
requirements.txt
pliku, będziesz potrzebowaćgit
czegoś takiego jak poniższy wpis, aby anonimowo pobrać gałąź master w swoimrequirements.txt
.Do regularnej instalacji:
W przypadku instalacji „ edytowalnej ”:
Tryb edytowalny pobiera kod źródłowy projektu do
./src
bieżącego katalogu. Pozwalapip freeze
na wyprowadzenie poprawnej lokalizacji pakietu github.źródło
#egg=django-celery
? Czy to jest symbol zastępczy?Klonuj repozytorium docelowe w taki sam sposób, jak klonujesz każdy inny projekt:
Następnie zainstaluj go w trybie programowania:
Możesz zmienić wszystko, czego nie chcesz, a każdy kod korzystający z
foo
pakietu użyje zmodyfikowanego kodu.Istnieją 2 zalety tego rozwiązania:
.git
katalog, więc jest to zwykłe repozytorium Git. Możesz od razu wcisnąć widelec.źródło
pip
, więc sklonowałempip
repozytorium, utworzyłem virtualenv, aktywowałem go i zrobiłempip install -e .
. Następniepip
w virtualenv był w trybie programowania! Jestem pod wrażeniem, że działa to nawet z samym menedżerem pakietów.pip list
, dany pakiet zawiera odniesienia do gałęzi Git i bezwzględnej ścieżki, z której został zainstalowany. Czy przechowuje jakieś odniesienia do nich lub czy można usunąć źródło?możesz spróbować w ten sposób w Colab
źródło