Piszę aplikację python, która zależy od innej, która jest hostowana w repozytorium github (nigdy w pypi) ze względów programistycznych.Uzyskaj pip do pracy z repozytorium git i github
Nazwijmy je:
- App jest napisane:
AppA
- aplikacji w github:
AppB
W App A, setup.py jest jak:
# coding=utf-8
import sys
try:
from setuptools import setup, find_packages
except ImportError:
import distribute_setup
distribute_setup.use_setuptools()
from setuptools import setup, find_packages
setup(
...
install_requires=[
# other requirements that install correctly
'app_b==0.1.1'
],
dependency_links=[
'git+https://github.com/user/[email protected]#egg=app_b-0.1.1'
]
)
Teraz AppA
jest budowane przez Jenkins CI
z każdy pchania i otrzymuję awarię bo następnego zostanie zgłoszony błąd:
error: Download error for git+https://github.com/user/[email protected]: unknown url type: git+https
Zabawne jest to, że tak się dzieje tylko w Jenkins, działa doskonale na moim komputerze. Próbowałem obu adresów URL SSH, które daje github, a nie są one nawet brane pod uwagę do pobrania.
Teraz Appa jest zawarty w pliku wymaganiami projektu również budowanego przez Jenkinsa, więc instalacja zależności ręcznie poprzez pip install AppA
pip install AppB
nie jest opcja, że zależności są automatycznie instalowane są wliczone w requirements.txt
.
Czy istnieje sposób, aby pips i git z adresami github działały razem?
Każda pomoc zostanie doceniona :)
Z góry dziękuję!
Czy na pewno Jenkins wykorzystuje pip? Jeśli tak, czy jest to wersja obsługująca tę funkcję? – wRAR
@Grzy, której wersji pip używa twoje pudełko Jenkinsa? 'pip --version' powinien dostarczyć ci tych informacji. Poza mankietem wygląda on na wersję przed wersją 0.8.2, która nie obsługuje schematu https. – jszakmeister