[解決!Python]pipでローカル環境にあるパッケージをインストールするには解決!Python

自作のパッケージやGitHubなどのリモートリポジトリからクローンしたパッケージをpipコマンドでインストールする方法を紹介する。

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

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

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

連載目次

コマンド 説明
pip install パッケージのディレクトリへのパス ローカル環境にあるパッケージをインストール
pip install -e パッケージのディレクトリへのパス ローカル環境にあるパッケージを編集可能モード(開発モード)でインストール
ローカル環境にあるパッケージのインストール

ローカル環境にあるパッケージをインストール

 自分で何らかのユーティリティーパッケージを開発している場合や、GitHubで公開されているパッケージの開発に参加していてそのソースをローカル環境にクローンしている場合などには、それらローカルなパッケージをpipコマンドで別のプロジェクトにインストールできる。

 ここでは以下のような自作パッケージを開発中であるとして話を進める。

  • パッケージは「mypkgproj」ディレクトリに作成する
  • パッケージ名は「mypackage」とする
  • mypackageパッケージはmodule1.pyファイルとmodule2.pyファイル、__init__.pyファイル、pyproject.tomlファイルで構成される
  • pyproject.tomlファイルにはパッケージ構成が記述される(本稿ではpyproject.tomlファイルにパッケージの構成を記述するものとして、setup.cfgファイルやsetup.pyファイルは含めていない)

 パッケージ構成を記述したpyproject.tomlファイルの内容は次のようになっている。

[build-system]
requires = ['setuptools']
build-backend = 'setuptools.build_meta'

[project]
name = 'mypackage'
version = '0.0.1'



 これはこのパッケージのビルドで使用するビルドシステム、パッケージ名、バージョンなどを記述したものだ。

 module1.pyファイルには以下のようにhello関数だけが定義されている。

def hello():
    print('hello')


 module2.pyファイルにはgoodbye関数だけが定義されている。

def goodbye():
    print('goodbye')


 __init__.pyファイルには2つの関数をインポートして、その名前を変数__all__に設定している。

from . module1 import hello
from . module2 import goodbye

__all__ = ['hello', 'goodbye']


 全体としてのファイル構成は次のようになっている。

パッケージのファイル構成 パッケージのファイル構成

 このパッケージを別のプロジェクト(ここでは「myapp」とする)にインストールするには「pip install パッケージを含むディレクトリへのパス」コマンドを実行する。パッケージを含むディレクトリへのパスとはpyproject.tomlファイル(プロジェクトによってはsetup.cfgファイルやsetup.pyファイル、ライセンスやREADMEを記述したファイルなど)を含むディレクトリのパスとなる。これをここでは「C:\pytips\pytips_0119\mypkgproj」とする(Windows以外の環境の方は適宜読み替えてほしい)。

 これをmyappディレクトリに構築した仮想環境(venvモジュールを使用)にインストールするには、以下のコマンドラインを実行する(実際にはbuildパッケージをインストールして「python -m build」「py -m build」などのコマンドを実行して配布物をビルドするといった手順を行うこともあるだろうj)。

(venv) ……> pip install C:\pytips\pytips_0119\mypkgproj



 実行結果を以下に示す。

インストールが完了した インストールが完了した

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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