更新:2024/12/17
Pythonでライブラリを作る方法!pip install -e .の使い方について


ふゅか
Pythonでライブラリ作るって、何から始めたらいいか分からなくてさ。なんか簡単に教えてくれない?

はるか
pip install -e .がライブラリの開発では重要。
目次
1. Pythonでライブラリを作る方法
Pythonでは、独自のライブラリを簡単に作成して開発・配布できます。この記事では、pip install -e .
を使ってライブラリを開発モードでインストールする方法を解説します。これにより、ソースコードの編集内容がすぐ反映され、開発がスムーズになります。
1.1. ライブラリ用のディレクトリ構成を作成
まず、新しいディレクトリを作り、以下のような構成を用意しましょう。
my_library/
│
├── my_library/ ← パッケージ本体のディレクトリ
│ ├── __init__.py ← パッケージの初期化ファイル
│ └── my_module.py ← モジュールコード
│
├── tests/ ← テスト用ディレクトリ (任意)
│ └── test_my_module.py
│
├── README.md ← ライブラリの概要説明
└── setup.py ← インストール設定ファイル
1.2. setup.pyを作成
setup.py
はライブラリのインストールや配布設定を記述するファイルです。以下のコードを参考に作成します。
from setuptools import setup, find_packages
setup(
name="my_library", # ライブラリ名
version="0.1.0", # バージョン
packages=find_packages(), # パッケージを自動検出
install_requires=[], # 依存ライブラリ
author="Your Name", # 作者名
description="A simple example library", # ライブラリの説明
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
python_requires='>=3.6', # 対応Pythonバージョン
)

はるか
setup.py
はこんな感じ。
ふゅか
なるほどー。
name
とかversion
、あと作者名まで指定できるんだね!ふゅか、これ書けばpip
でインストールできるってこと?
はるか
そう。
pip install -e .
で開発モードでインストール。1.3. __init__.pyを作成
my_library/
ディレクトリに__init__.py
を作成します。これにより、フォルダがPythonのパッケージとして認識されます。
例えば、my_module
内の関数を使えるようにする場合:
from .my_module import *
1.4. モジュールを作成
my_library/
内にmy_module.py
を作り、簡単な関数を書いてみます。
def my_function():
print("あー。おなかすいた!")
1.5. 開発モードでインストール
pip install -e .
コマンドを使うことで、ライブラリを開発モードでインストールできます。
pip install -e .
1.5.1. 開発モードのメリット
- ソースコードを編集すると即座に反映されます。
- いちいち再インストールする手間がかかりません。
この時のファイルの構造は次のようになっています。

ふゅか
開発モード? なんか聞き慣れない言葉だなぁ……。

はるか
編集した内容がすぐ反映される。再インストール不要。
2. ライブラリを使う
インストールが完了したら、別のファイルで作成したライブラリをインポートして利用できます。
from my_library import my_function
my_function() # 出力: あー。おなかすいた!
プログラムを実行すると、次のようになります。
2.1. ライブラリをインストール後に編集すると
pip install -e .
コマンドでは、
- ソースコードを編集すると即座に反映されます。
という特徴があります。ここで、my_module.py
を次のように編集します。
def my_function():
print(1+2+3+4+5)
これを実行すると