#
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'])],
          )

のようにします。