Python プロジェクトのパッケージ化

2016年8月20日

はじめに

Python のプロジェクトをパッケージ化する方法について。

環境

  • Mac OS X 10.9
  • Anaconda3 4.1.1

プロジェクト構成

プロジェクト構成を以下のように想定する。

  • pkg_test/
    • docs/ ... ドキュメントを含む
      • html/
    • pkg_test/ ... コードを含む
      • __init__.py
  • README.txt
  • COPYING.txt

Python プロジェクトのパッケージ化

まず、setup.py を用意する。

from distutils.core import setup

setup(
    name = 'pkg_test',
    packages = ['pkg_test'],
    version = '0.1',
    description = 'python package test',
    author = 'Your Name',
    author_email = 'your@mail.co.jp',
    url = 'http://',
    classifiers = [
        'Programming Language :: Python',
        'Programming Language :: Python :: 3',
        'License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)',
        'Operating System :: OS Independent',
        'Development Status :: 4 - Beta',
    ],
    long_description = '',
)

最低限必要そうな項目を設定している。packages はパッケージに含ませるコードを指定している。classifiers は こちら から選ぶ。

パッケージには README.txt を含める。最後に setup.py にてソースパッケージを作成することになるが、README.txt は自動で含まれるがすべてのファイルがこれに含まれるわけではない。別途パッケージに含みたいファイルは MANIFEST.in ファイルで指定する。

include COPYING.txt
recursive-include docs/html *

setup.py のチェック。

$ python setup.py check
running check

ソースパッケージを作成する。

$ python setup.py sdist

dist ディレクトリにソースパッケージが作成される。

参考