Pythonパッケージをソースからインストールする


Gitリポジトリからのpythonパッケージインストール方法

GitHubやその他のバージョン管理システム(VCS)のリポジトリから直接Pythonパッケージをインストールすることができます。これは、まだPyPIに公開されていないパッケージや、最新の開発バージョンを使用したい場合に特に便利です。

Gitリポジトリからpythonパッケージをインストールする方法には、主に2つのアプローチがあります:リモートリポジトリから直接インストールする方法と、ローカルにクローンしたリポジトリからインストールする方法です。

リモートリポジトリから直接インストール

基本的な使用方法

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

具体的な例

  1. 公開リポジトリからのインストール:
pip install git+https://github.com/numpy/numpy.git
  1. 特定のブランチやタグからインストール:
pip install git+https://github.com/username/repository.git@branch-name
pip install git+https://github.com/username/repository.git@v1.0
  1. サブディレクトリにあるパッケージのインストール:
pip install git+https://github.com/username/repository.git#subdirectory=package_dir

プライベートリポジトリからのインストール

プライベートリポジトリからインストールする場合、認証が必要です。

  1. HTTPSを使用する場合:
pip install git+https://username:password@github.com/username/repository.git

注意: パスワードをコマンドラインに直接入力することは推奨されません。代わりに、個人アクセストークンを使用することをお勧めします。

  1. SSHを使用する場合:
pip install git+ssh://git@github.com/username/repository.git

SSHキーの設定が必要です。

requirements.txtでの使用

requirements.txtファイルでGitHubリポジトリを指定することもできます:

git+https://github.com/username/repository.git@v1.0

ローカルにクローンしたリポジトリからインストール

このアプローチは、リポジトリをローカルマシンにクローンし、そのディレクトリに移動してインストールする方法です。

手順

  1. リポジトリをクローン:
git clone https://github.com/username/repository.git
  1. クローンしたディレクトリに移動:
cd repository
  1. パッケージをインストール:
pip install .

具体的な例

git clone https://github.com/username/my-project.git
cd my-project
pip install .

開発モードでのインストール

パッケージを開発中で、ソースコードを編集しながらテストしたい場合は、開発モードでインストールすることができます:

pip install -e .

-eオプション(または--editable)を使用すると、パッケージがソースディレクトリにリンクされ、ソースコードの変更がすぐに反映されます。

注意点

  • どちらの方法でも、リポジトリにはsetup.pyまたはpyproject.tomlファイルが含まれている必要があります。
  • ローカルにクローンする方法は、パッケージのソースコードを確認したり、修正を加えたりする場合に特に便利です。
  • 開発モードでのインストールは、自作のパッケージを開発する際に非常に有用です。
  • セキュリティ上の理由から、信頼できるソースからのみインストールしてください。
  • 依存関係の管理に注意が必要です。特に、複数のプロジェクトで作業している場合は、仮想環境の使用を検討してください。

まとめ

GitリポジトリからPythonパッケージをインストールする方法は、開発中のパッケージや、まだPyPIに公開されていないパッケージを使用する際に非常に便利です。リモートからの直接インストールとローカルにクローンしてからのインストールの両方の方法を理解しておくことで、様々な状況に対応できます。

Citations:
[1] Python のビルドとテスト
[2] Python配布パッケージをGitHubリポジトリ経由でインストールする方法(PublicとPrivate両パターン)
[3] setup.pyのないGitHubリポジトリからライブラリをimportする方法
[4] GitHub のプライベートリポジトリから Python の独自パッケージをインストールしてみた
[5] 【Python】GitHubから直接パッケージをインストールする方法
[6] GitHub のリポジトリを requirements.txt に含める