pip を使用してプライベート GitHub リポジトリからパッケージをインストールすることは可能ですか? 質問する

pip を使用してプライベート GitHub リポジトリからパッケージをインストールすることは可能ですか? 質問する

プライベート 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 + を使用して、sshpip が 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

おすすめ記事