2013-03-14 26 views
7

Đây là setup.py của tôi:Vấn đề với cài đặt gói từ dependency_links

setup(
     ... 
     install_requires=['GEDThriftStubs'], 
     dependency_links=['git+ssh://[email protected]/ged-thrift-stubs.git#egg=GEDThriftStubs'], 
...) 

Sau đó, tôi tạo gói:

python setup.py sdist 

Sau đó, tôi cố gắng để cài đặt nó:

pips cài đặt tệp: //path/package-0.0.1.tar.gz

Và có được điều này trong thiết bị đầu cuối:

Downloading/unpacking GEDThriftStubs (from package==0.0.1) 
    Could not find any downloads that satisfy the requirement GEDThriftStubs (from package==0.0.1) 
No distributions at all found for GEDThriftStubs (from package==0.0.1) 

Và trong các tin nhắn pip.log như thế này:

Skipping link git+ssh://[email protected]/ged-thrift-stubs.git#egg=GEDThriftStubs; wrong project name (not gedthriftstubs) 

Và tôi không có bất cứ nơi nào trong dự án của tôi mà chính xác tên "gedthriftstubs", nếu nó vấn đề.

Nhưng điều này hoạt động tốt:

pip install git+ssh://[email protected]/ged-thrift-stubs.git#egg=GEDThriftStubs 
+0

Ah, xin lỗi, lỗi của tôi. –

+0

Bạn đang thử 'sudo python setup.py sdist' hoặc chỉ' python setup.py sdist'? –

+0

Tôi chạy cả hai lệnh không có sudo dưới một người dùng và bên trong một virtualenv. – azurkin

Trả lời

0

Hãy thử:

$ pip install --process-dependency-links file://path/package-0.0.1.tar.gz 

Lưu ý rằng thẻ này được lấy ra từ pip trong pip 1.6. See this article on pip.pypa.io để biết thêm thông tin.

Trong pip 1.5 các liên kết phụ thuộc xử lý không được chấp nhận và nó đã được loại bỏ hoàn toàn trong pip 1.6.

Ngoài ra còn có một lengthy discussion (issue #1519) về pip & liên kết phụ thuộc

Nếu điều đó không làm việc, bạn cũng có thể cần phải thêm một phiên bản hậu tố vào liên kết của bạn, như thế này:

git+ssh://[email protected]/ged-thrift-stubs.git#egg=GEDThriftStubs-0.0.1 

nơi 0.0.1version được chỉ định trong setup.py của ged-thrift-stubs

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