2012-11-26 18 views
30

Mam repozytorium git z wielu folderów, jednym z nich jest moduł Pythona do zainstalowania z PIP, tak:Jak mogę zainstalować z podkatalogu git za pomocą pip?

repo.git/ 
repo.git/folder1/ 
repo.git/folder2/ 
repo.git/mymodule/ 
repo.git/mymodule/__init__.py 
repo.git/mymodule/setup.py 
repo.git/mymodule/... 

Teraz muszę wykonać następujące czynności, aby zainstalować:

git clone http://server/repo.git 
cd repo 
pip install mymodule 
cd .. 
rm -rf repo 

Czy możliwe jest zainstalowanie modułu bezpośrednio za pomocą pip, bez wyraźnego klonowania?

Próbowałem:

pip install git+https://server/repo.git/mymodule/ 
pip install git+https://server/repo.git:mymodule/ 

Ale otrzymuję:

IOError: [Errno 2] No such file or directory: '/tmp/pip-88tlLm-build/setup.py' 
+1

Na to pytanie już udzielono odpowiedzi: http://stackoverflow.com/questions/10847764/pip-install-from-git-repo – synthesizerpatel

+0

Pytanie, które łączysz, dotyczyło brakujących plików, ponieważ nie ma MANIFEST.in. Moje pytanie dotyczy tego, jak zainstalować podkatalog z pipem, nie brakuje plików, ponieważ mogę zainstalować pakiet, klonując całe repozytorium. –

+0

@synthesizerpatel Pytanie, które łączyłeś z pytaniem o inną rzecz, ale tytuł był mylący, więc poprawiłem go. Możesz rozważyć usunięcie (przypuszczam) downvote. –

Odpowiedz

45

Jest pull request dotyczące tej funkcji, i wydaje się, aby zostały połączone, aby rozwinąć gałąź miesiąc temu. Składnia jest following:

pip install -e git+https://git.repo/some_repo.git#egg=version_subpkg&subdirectory=repo # install a python package from a repo subdirectory 

Prawdopodobnie trzeba czekać na jakiś czas, dopóki nie zostanie połączone do opanowania i jest rozpowszechniany.

+0

Dzięki za aktualizację! –

+3

Właśnie sprawdziłem i jest częścią pip v1.5, wydany 1 stycznia 2014: https://github.com/pypa/pip/blob/develop/CHANGES.txt – tomka

+1

[Konkretny wpis dziennika zmian] (https: // github .com/pypa/pip/blob/54de36d9aee18b23379cd417dcc6ede3c0d93f96/CHANGES.txt # L57) w wersji pip v1.5, w której to połączenie zostało scalone. –

Powiązane problemy