2012-11-26 32 views
30

Tôi có một kho git với nhiều thư mục, một trong số họ trở thành một mô-đun python cài đặt với pip, như thế này:Làm cách nào để cài đặt từ thư mục con git bằng 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/... 

Ngay bây giờ tôi phải làm như sau để cài đặt:

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

Có thể cài đặt trực tiếp mô-đun với pip mà không cần sao chép rõ ràng không?

tôi đã cố gắng:

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

Nhưng tôi nhận được:

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

Câu hỏi này dường như đã được trả lời: http://stackoverflow.com/questions/10847764/pip-install-from-git-repo – synthesizerpatel

+0

Câu hỏi bạn đã liên kết là về các tệp bị thiếu vì không có MANIFEST.in. Câu hỏi của tôi là làm thế nào để cài đặt một thư mục con với pip, không có tập tin bị thiếu kể từ khi tôi có thể cài đặt các gói bằng cách nhân bản toàn bộ repo. –

+0

@synthesizerpatel Câu hỏi mà bạn liên kết hỏi về điều khác nhau nhưng tiêu đề đã gây hiểu lầm nên tôi đã sửa lại nó. Bạn có thể xem xét xóa bỏ (tôi đoán) downvote của bạn. –

Trả lời

45

Có một pull request liên quan đến tính năng này, và nó dường như đã được sáp nhập để phát triển chi nhánh cách đây một tháng. Cú pháp là following:

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

Có thể chúng ta phải đợi một lúc cho đến khi nó được hợp nhất thành chính và được phân phối.

+0

Cảm ơn bạn đã cập nhật! –

+3

Tôi vừa kiểm tra và nó là một phần của pip v1.5, phát hành ngày 1 tháng 1 năm 2014: https://github.com/pypa/pip/blob/develop/CHANGES.txt – tomka

+1

[Mục nhập thay đổi cụ thể] (https: // github .com/pypa/pip/blob/54de36d9aee18b23379cd417dcc6ede3c0d93f96/CHANGES.txt # L57) trong pip v1.5, nơi tính năng này được hợp nhất. –

Các vấn đề liên quan