5
3

More than 3 years have passed since last update.

GitHubのprivateなリポジトリをpip installする方法

Posted at

弊社ではGoogle Colaboratryをよく使っています。その中で必要な処理をモジュール化し、GitHub上に登録、各コードからpip installして使いたい、ということがあります。

しかしながら、GitHubのリポジトリはprivateにしたい。privateリポジトリでもpip installできる方法について記載します。

「github private repo pip install」と検索して見つかったのがこの記事でした。

方法

こちらには2通りの方法が提示されています。

①ユーザー名とパスワードを指定する方法
!git clone https://username:password@github.com/username/repository.git
②Gitトークンを指定する方法
!git clone https://git_token@github.com/username/repository.git

注意事項

①については、ユーザー名はともかくパスワードに「@」などの記号が含まれていると、URLの一部として認識されてしまい、実行できないという事象が起こり得ます。これは先程の記事にコメントがある通り「@」を「%40」に置き換えれば回避できます。

②についても、生成されたトークンに同様の記号が含まれれば同じ事象は起きますが、そうなった場合は同様の回避方法にて対応できます。

どちらを使うか

個人的には②がオススメです。

①で対応したい場合、個人のユーザー名とパスワードを記載するのはあまり好ましくないため、共通アカウントを発行して使うなどした方が良いでしょう。

②で対応したい場合、トークンが漏れてしまわない限りは問題ありません。もし漏洩が発覚した場合にはトークンを無効とするだけで済みますし必要な権限のみコントロールできますので、こちらの方がセキュリティ上は安全かと思います。

トークンの発行方法は以下の記事を参照ください。(このリンクも貼ってくれていました、なんて親切な回答なのでしょう)

②でpip install

上記ではgit cloneでの方法でしたが、以下のコマンドでpip installできます。
※ git_token、username、repositoryは置き換えてください。

!pip install git+https://git_token@github.com/username/repository.git

git cloneでもできます。

!git clone https://git_token@github.com/username/repository.git
!pip install -e /content/repository
5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3