LoginSignup
13

More than 5 years have passed since last update.

GitHubリポジトリのサブディレクトリにあるパッケージを pip install する

Posted at

概要

GitHub リポジトリのサブディレクトリに入っているパッケージを直接ローカルに pip install するときの pip install コマンドの書き方を記します。

問題点として

GitHub から直接 pip install できる便利機能があるものの、公式ドキュメントや pip のドキュメントをよく見ないと書き方がわかりづらい。

pip install の書き方

URLスキーム pip コマンド
HTTPS pip install "git+https://github.com/(アカウント名)/(リポジトリ名).git#egg=(パッケージ名)&subdirectory=(ディレクトリ名)"
SSH pip install "git+ssh://git@github.com/(アカウント名)/(リポジトリ名).git#egg=(パッケージ名)&subdirectory=(ディレクトリ名)"
  • egg=(パッケージ名)は setup.py の中にある関数 setup(name=○○○, ...) の引数 name に渡される名称です。

インストール例

例として下記のようなディレクトリ構造をもつGitHubリポジトリのうち、 sub_package_1 にあるライブラリのみGitHubから直接インストールする方法を記します。

ディレクトリ構造

.
|____sub_package_1    : リポジトリのルートの下に独立したパッケージがある.
| |____setup.py       : 独立したパッケージにはそれぞれ setup.py が存在する.
| |____package1
| | |______init__.py
| | |____util.py
|____sub_package_2    : 上記とは別の独立したパケージ
| |____setup.py       : 独立したパッケージにはそれぞれ setup.py が存在する.
| |____package2
| | |______init__.py
| | |____util.py

setup.py について

この場合の setup.py の内容は通常のパッケージの書き方と同じです。特にサブディレクトリのために必要な記述はありません。

サンプルプログラムのサブディレクトリを GitHub から直接 pip install する

GitHub サプリディレクトリを直接 pip install できるサンプルプログラムを用意しました。

pip install コマンド は次のようになります。

$ pip install "git+https://github.com/smn-ailab/tshimura_qiita.git#egg=weather&subdirectory=weather_checker"
  • パッケージ名の後に &subdirectory=(ディレクトリ名)を指定します。
  • ダブルクォーテーションマークで囲む点に注意してください。
  • なおアンインストールは pip uninstall weather です。

参考

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
13