[解決!Python]pipでGitHubからパッケージをインストールするには解決!Python

pipはPyPIからだけではなく、GitHubで公開されているパッケージのリポジトリから直接インストールすることもできる。その方法を紹介する。

» 2023年01月17日 05時00分 公開
[かわさきしんじDeep Insider編集部]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「解決!Python」のインデックス

連載目次

コマンドライン 説明
pip install pkg_name@git+https://github.com/acc_name/repo_name.git リポジトリ名とパッケージ名が異なる場合は「パッケージ名@」を「git+https://…….git」の前に付加
pip install git+https://github.com/acc_name/pkg_name.git リポジトリ名とパッケージ名が同じならこう書ける
pip install git+https://github.com/acc_name/pkg_name.git@v1.0 「@v1.0」のように末尾にバージョンやタグを付加できる
pipでGitHubからパッケージをインストールする構文

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

 pipでは、GitHubで公開されているパッケージを直接インストールすることも可能だ。これには「python -m pip install git+url」「py -m pip install git+url」「pip install git+url」などの形でpipを実行することになる(urlはリポジトリのURL)。本稿では最後の形式で構文を記述するので、ご自身の環境に応じて読み替えていただきたい。

 ここではRequestsパッケージを例にGitHubからパッケージをインストールする方法を紹介する(RequestsパッケージのリポジトリURLは「https://github.com/psf/requests.git」)。

 一番シンプルなのは以下の方法だ。

% pip install git+https://github.com/psf/requests.git

 これによりRequestsパッケージのGitHubリポジトリからパッケージを直接インストールできる。以下に実行例を示す(コマンドラインを強調書体として表示)。

% pip list
Package    Version
---------- -------
pip        22.3.1
setuptools 65.5.0

% pip install git+https://github.com/psf/requests
Collecting git+https://github.com/psf/requests.git
  …… 中略 ……
Successfully built requests
Installing collected packages: charset-normalizer, urllib3, idna, certifi, requests
Successfully installed certifi-2022.12.7 charset-normalizer-3.0.1 idna-3.4 requests-2.28.2 urllib3-1.26.14

% pip list
Package            Version
------------------ ---------
certifi            2022.12.7
charset-normalizer 3.0.1
idna               3.4
pip                22.3.1
requests           2.28.2
setuptools         65.5.0
urllib3            1.26.14

 インストールする前後に「pip list」コマンドでインストールされているパッケージを一覧している。これらを見ると、必要な依存関係を含めてインストールが行われていることが分かる。

 リポジトリ名とパッケージ名が異なっているという場合、「git+url」の前に「パッケージ名@」を付加する。上の例で分かるように、Requestsパッケージでは「requests@」を付加しなくてもインストールできるが、これを付加してインストールする例を以下に示す。

% pip uninstall requests
Found existing installation: requests 2.28.2
Uninstalling requests-2.28.2:
  Would remove:
    …… 中略 ……
Proceed (Y/n)? y
  Successfully uninstalled requests-2.28.2

% pip install requests@git+https://github.com/psf/requests.git
Collecting requests@ git+https://github.com/psf/requests.git
  …… 中略 ……
Installing collected packages: requests
Successfully installed requests-2.28.2

 逆にパッケージ名と異なる識別子を付加してインストールしてみよう。

% pip uninstall requests

% pip install foo@git+https://github.com/psf/requests.git
Collecting foo@ git+https://github.com/psf/requests.git
    …… 中略 ……
ERROR: Could not find a version that satisfies the requirement foo (unavailable) (from versions: none)
ERROR: No matching distribution found for foo (unavailable)

 このようにパッケージの名前と異なる識別子を与えるとインストールに失敗する。

 特定のバージョンのパッケージや特定のタグが付加されたバージョンをインストールするにはURLの末尾に「@sometag」のように指定する。

 例えば、2023年1月13日現在、Requestsパッケージの最新バージョンは2.28.2だが、その1つ前のバージョンである2.28.1をインストールするには次のようにする。

% pip install git+https://github.com/psf/requests.git@v2.28.1 

 この他にもGitで管理している自作パッケージをローカルリポジトリからインストールする方法もあるが、これについては別稿で紹介する。

「解決!Python」のインデックス

解決!Python

鬯ッ�ゥ隰ウ�セ�ス�ス�ス�オ�ス�ス�ス�ス�ス�ス�ス�コ鬯ッ�ョ�ス�ヲ�ス�ス�ス�ョ鬮ッ�キ�ス�サ�ス�ス�ス�サ�ス�ス�ス�ス�ス�ス�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス鬯ッ�ッ�ス�ッ�ス�ス�ス�ィ�ス�ス�ス�ス�ス�ス�ス�セ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�」鬯ッ�ッ�ス�ョ�ス�ス�ス�エ鬮」雋サ�ソ�ス�ス�ス�ス�・�ス�ス�ス�ス�ス�ス�ス�ウ�ス�ス�ス�ス�ス�ス�ス�ィ�ス�ス�ス�ス�ス�ス�ス�ス鬮ッ諛カ�ス�」�ス�ス�ス�、�ス�ス�ス�ス�ス�ス�ス�ク�ス�ス�ス�ス�ス�ス�ス�イ鬯ッ�ゥ陟�瑳�ス�ス�ス�ス�ソ�ス�ス�ス�ス�ス�ス邵コ�、�つ€�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�」鬯ッ�ッ�ス�ョ�ス�ス�ス�エ鬯ッ�ゥ陝カ螢ス譯カ�ス�ス�ス�ュ鬯ョ�ョ�ス�」�ス�ス�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ィ鬯ョ�ッ陋ケ�コ�ス�サ郢ァ謇假スス�ス�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�コ鬯ョ�」陋ケ�ス�ス�ス�ス�オ鬮ォ�エ隰ォ�セ�ス�ス�ス�エ�ス�ス�ス�ス髫カ髮」�ス�」�ス螳茨ス「謇假スス�ュ髮懶ス」�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ゥ鬯ッ�ゥ陝キ�「�ス�ス�ス�「鬮ォ�エ髮懶ス」�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�シ鬯ッ�ゥ陝キ�「�ス�ス�ス�「鬮ォ�エ闕ウ�サ�ス�ス髫カ謐コ�サ繧托スス�ソ�ス�ス驍オ�コ�ス�、�ス縺、ツ€鬯ッ�ッ�ス�ョ�ス�ス�ス�ヲ�ス�ス�ス�ス�ス�ス�ス�ェ鬯ゥ蛹�スス�カ髣費スィ�ス�ス�ス�ス�ス�ヲ�ス�ス�ス�エ�ス�ス邵コ�、�つ€鬮ッ�キ髣鯉スィ�ス�ス�ス�キ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�サ鬯ッ�ッ�ス�ッ�ス�ス�ス�ェ�ス�ス�ス�ス�ス�ス�ス�ュ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�イ鬯ッ�ゥ隰ウ�セ�ス�ス�ス�オ�ス�ス�ス�ス�ス�ス�ス�コ鬯ョ�ッ�ス�キ�ス�ス�ス�キ�ス�ス�ス�ス�ス�ス�ス�カ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス New

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

Deep Insider 鬯ッ�ッ�ス�ョ�ス�ス�ス�ォ�ス�ス�ス�ス�ス�ス�ス�ェ鬯ョ�ッ陋ケ�コ�ス�サ郢ァ謇假スス�ス�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�コ鬯ョ�」陋ケ�ス�ス�ス�ス�オ鬮ォ�エ遶擾スオ�ス�コ�ス�キ�ス�ス�ス�ク�ス�ス�ス�キ�ス�ス�ス�ス�ス�ス�ス�ケ鬮ォ�エ髮懶ス」�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ウ鬯ッ�ゥ陝キ�「�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ュ鬯ッ�ゥ陝キ�「�ス�ス�ス�「鬮ォ�エ髮懶ス」�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ウ鬯ッ�ゥ陝キ�「�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ァ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ー

鬯ッ�ョ�ス�ォ�ス�ス�ス�エ鬮ッ譎「�ス�キ�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ャ鬯ッ�ョ�ス�ォ�ス�ス�ス�エ鬯ッ�イ�ス�ス�ス�シ陞滂スイ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�・鬯ッ�ョ�ス�ォ�ス�ス�ス�エ鬮ッ譎「�ス�カ�ス�ス�ス�キ�ス�ス�ス�ス�ス�ス�ス�」�ス�ス�ス�ス�ス�ス�ス�ッ鬯ョ�」陷エ�ス�ス�ス�ス�ォ�ス�ス�ス�ス�ス�ス�ス�」

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。