弊社では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 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