Pythonでパッケージを作成
この記事では、Pythonパッケージを作成し、配布する方法を説明します。setup.pyファイルの作成、パッケージ構造、そしてPyPIへのアップロード方法を学びます。
目次
パッケージ構造
Pythonパッケージの基本的な構造を説明します。通常、パッケージは複数のモジュールを含み、__init__.pyファイルを含めることで、ディレクトリをPythonパッケージとして認識させます。
mypackage/
├── __init__.py
├── module1.py
└── module2.py
__init__.pyファイルは空でも構いませんが、パッケージの初期化処理などを記述することもできます。module1.pyとmodule2.pyは、パッケージに含まれるモジュールです。
setup.pyファイルの作成
setup.pyファイルは、パッケージに関するメタデータ(名前、バージョン、説明など)と、ビルド方法、インストール方法などをsetuptoolsに指示するファイルです。
from setuptools import setup, find_packages
setup(
name='mypackage',
version='0.1.0',
packages=find_packages(),
install_requires=['requests'],
author='Your Name',
author_email='your.email@example.com',
description='A sample Python package',
long_description='A longer description of mypackage',
)
この例では、'requests'ライブラリへの依存関係を指定しています。find_packages()は、パッケージ内のすべてのサブパッケージを自動的に検出します。
上記コマンドを実行すると、distディレクトリにパッケージファイル(mypackage-0.1.0.tar.gzなど)が作成されます。
パッケージのインストール
作成したパッケージをインストールするには、pipを使用します。
pip install dist/mypackage-0.1.0.tar.gz
上記コマンドで、作成したパッケージをローカルにインストールできます。
テスト用の仮想環境を使うことをおすすめします。
python -m venv .venv
source .venv/bin/activate
pip install dist/mypackage-0.1.0.tar.gz
PyPIへのアップロード
作成したパッケージをPyPI(Python Package Index)にアップロードするには、twineを使用します。事前にPyPIアカウントを作成する必要があります。
twine upload dist/*
このコマンドで、distディレクトリ内のすべてのファイルをPyPIにアップロードします。
パッケージを公開する前に、テストを十分に行ってください。