Tôi đang cố gắng cài đặt gói Python từ kho lưu trữ GitHub riêng. Đối với một kho lưu trữ công cộng, tôi có thể ban hành lệnh sau hoạt động tốt:
pip install git+git://github.com/django/django.git
Tuy nhiên, nếu tôi thử điều này cho một kho lưu trữ riêng tư:
pip install git+git://github.com/echweb/echweb-utils.git
Tôi nhận được đầu ra sau đây:
Downloading/unpacking git+git://github.com/echweb/echweb-utils.git
Cloning Git repository git://github.com/echweb/echweb-utils.git to /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build
Complete output from command /usr/local/bin/git clone git://github.com/echweb/echweb-utils.git /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build:
fatal: The remote end hung up unexpectedly
Cloning into /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build...
----------------------------------------
Command /usr/local/bin/git clone git://github.com/echweb/echweb-utils.git /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-VRsIoo-build failed with error code 128
Tôi đoán điều này là do tôi đang cố gắng truy cập vào một kho lưu trữ riêng mà không cung cấp bất kỳ xác thực nào. Do đó, tôi đã cố gắng sử dụng Git + với ssh
hy vọng rằng pip sẽ sử dụng khóa chung SSH của tôi để xác thực:
pip install git+ssh://github.com/echweb/echweb-utils.git
Điều này cho đầu ra sau:
Downloading/unpacking git+ssh://github.com/echweb/echweb-utils.git
Cloning Git repository ssh://github.com/echweb/echweb-utils.git to /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-DQB8s4-build
Complete output from command /usr/local/bin/git clone ssh://github.com/echweb/echweb-utils.git /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-DQB8s4-build:
Cloning into /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-DQB8s4-build...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
----------------------------------------
Command /usr/local/bin/git clone ssh://github.com/echweb/echweb-utils.git /var/folders/cB/cB85g9P7HM4jcPn7nrvWRU+++TI/-Tmp-/pip-DQB8s4-build failed with error code 128
Là những gì tôi đang cố gắng để đạt được thậm chí có thể? Nếu vậy, làm thế nào tôi có thể làm điều đó?
eval $(ssh-agent); ssh-add ~/.ssh/github_id_rsa
và sau đó chạy cài đặt pip sau pip.pypa.io/en/urdy/reference/pip_install/#git