PYTHON MEBY

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にアップロードします。

パッケージを公開する前に、テストを十分に行ってください。

関連記事