Pythonでパッケージのデプロイメントと配布を実現する方法

この記事では、Pythonでパッケージのデプロイメントと配布を行う具体的な手順について解説します。ここで紹介する方法を用いれば、自分自身で作成したPythonパッケージを効率良く他の開発者に提供できます。具体的なコード例とその解説、応用例も含めています。

目次

Pythonでのパッケージ作成の基本

Pythonでは`setuptools`を使ってパッケージを作成できます。以下は基本的な`setup.py`のサンプルコードです。

from setuptools import setup, find_packages

setup(
    name='my_package',
    version='0.1.0',
    packages=find_packages(),
    install_requires=[
        'numpy>=1.18.0',
    ],
)

この`setup.py`では以下のような点を設定しています。

  • パッケージの名前は`my_package`
  • バージョンは`0.1.0`
  • `numpy`という外部パッケージが必要で、そのバージョンは`1.18.0`以上

PyPIへのパッケージアップロード

パッケージが完成したら、次はそれをPyPI(Python Package Index)にアップロードします。以下のコマンドでアップロードが可能です。

python -m twine upload dist/*

パッケージのインストールと利用

PyPIにアップロードしたパッケージは、`pip`コマンドで簡単にインストールできます。

pip install my_package

応用例1:依存関係の複雑なパッケージ

パッケージが他のパッケージに依存している場合、`install_requires`にその情報を列挙します。

setup(
    ...
    install_requires=[
        'numpy>=1.18.0',
        'pandas>=1.0.0',
        'scikit-learn>=0.20.0'
    ],
    ...
)

応用例2:エントリーポイントの設定

特定の関数をコマンドラインユーティリティとして提供する場合、`entry_points`を使います。

setup(
    ...
    entry_points={
        'console_scripts': [
            'my_command=my_package.module:function',
        ],
    },
    ...
)

これにより、`my_command`という名前でコマンドラインから`my_package.module`の`function`を実行できます。

まとめ

Pythonでのパッケージのデプロイメントと配布は、`setuptools`とPyPIを用いることで比較的簡単に行えます。適切な依存関係の設定やエントリーポイントの設定をすることで、さらに実用的なパッケージを作成できます。

コメント

コメントする

目次