プライベート GitHub リポジトリから Python パッケージをインストールしようとしています。パブリック リポジトリの場合は、次のコマンドを発行すると正常に動作します。
pip install git+git://github.com/django/django.git
ただし、プライベートリポジトリでこれを試した場合:
pip install git+git://github.com/echweb/echweb-utils.git
次のような出力が得られます。
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
これは、認証なしでプライベート リポジトリにアクセスしようとしているためだと思います。そのため、Git + を使用して、ssh
pip が SSH 公開キーを使用して認証することを期待しました。
pip install git+ssh://github.com/echweb/echweb-utils.git
出力は次のようになります。
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
私が達成しようとしていることは可能なのでしょうか? もし可能だとしたら、どうすれば実現できるのでしょうか?
ベストアンサー1
URI スキームを使用できますgit+ssh
が、ユーザー名を設定する必要がありますgit@
。URIの次の部分に注意してください。
pip install git+ssh://[email protected]/echweb/echweb-utils.git
こちらもご覧くださいキーを展開する。
PS: 私のインストールでは、「git+ssh」URI スキームは「編集可能」な要件でのみ機能します。
pip install -e URI#egg=EggName
注意:コマンドでリモートのアドレスを使用する前に、印刷する:
文字を文字git remote -v
に変更してください。/
pip
$ git remote -v
origin [email protected]:echweb/echweb-utils.git (fetch)
# ^ change this to a '/' character
忘れると、次のエラーが発生します:
ssh: Could not resolve hostname github.com:echweb:
nodename nor servname provided, or not known