3 単体の拡張モジュール

拡張モジュールは、ext_modules オプションを使って指定します。 package_dir は、拡張モジュールのソースファイルをどこで 探すかには影響しません; pure Python モジュールのソースのみに影響します。 もっとも単純なケースでは、単一の C ソースファイルで書かれた単一の拡張 モジュールは:

<root>/
        setup.py
        foo.c
になります。

foo 拡張をルートパッケージ下に所属させたい場合、 setup スクリプトは

from distutils.core import setup
from distutils.extension import Extension
setup(name='foobar',
      version='1.0',
      ext_modules=[Extension('foo', ['foo.c'])],
      )
になります。

同じソースツリーレイアウトで、この拡張モジュールを foopkg の下に置き、拡張モジュールの名前を変えるには:

from distutils.core import setup
from distutils.extension import Extension
setup(name='foobar',
      version = '1.0',
      ext_modules=[Extension('foopkg.foo', ['foo.c'])],
      )
のようにします。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。