Potrzebuję dołączyć pakiety Pythona dostępne za pośrednictwem publicznych repozytoriów Github wraz z moim pakietem Python (2.7). Mój pakiet powinien zostać zainstalowany za pomocą pip
przy użyciu setup.py
.Jak dołączyć git zależności w setup.py do instalacji pip
Jak dotąd, można to zrobić za pomocą dependency_links
w pliku setup.py
:
setuptools.setup(
name="my_package",
version="1.0",
install_requires=[
"other_package==1.2"
],
dependency_links=[
"https://github.com/user/other_package/tarball/master#egg=other_package-1.2"
]
)
ten nadal działa, gdy pakiet zostanie zainstalowany z flagą --process-dependency-links
, ale funkcjonalność dependency_links
wydaje się być przestarzałe, ponieważ:
pip install git+https://github.com/user/[email protected]#egg=my_package-1.0 --process-dependency-links
daje mi następujące ostrzeżenie:
DEPRECATION: Dependency Links processing has been deprecated and will be removed in a future release.
Czy istnieje inny sposób uwzględnienia zależności git
w pliku z obsługą instalacji pip?
Edit (17.10.2016), aby wyjaśnić mój przypadek użycia:
Powiedzmy znajdę błąd w other_package
. Rozdzielam odpowiednie repo na Github, naprawiam błąd i wykonam żądanie ściągnięcia. Moje żądanie pobrania nie zostanie natychmiast zaakceptowane (lub nigdy nie będzie, ponieważ pakiet nie jest już aktywnie utrzymywany). Chciałbym rozpowszechniać my_package
wraz z moim widelcem other_package
i chcieć, aby użytkownicy mogli zainstalować instalację my_package
bez żadnej wiedzy o szczegółach tego wymagania i bez konieczności dostarczania dodatkowych flag podczas instalacji. Użytkownicy domeny my_package
powinni dodatkowo móc dołączyć my_package
jako wymaganie do własnych niestandardowych pakietów.
Jak można to osiągnąć mając na myśli różne sposoby instalacji (koła, jaja, rozwój, ...)?