7.3 Singoli moduli di estensione

I moduli di estensione vengono specificati utilizzando l'opzione ext_modules. package_dir non ha effetto su quale estensione di file sorgente venga trovata; interessa solo il sorgente per i moduli in puro Python. Il caso più semplice, un singolo modulo di estensione in un singolo file sorgente C, è:

<root>/
        setup.py
        foo.c
Se l'estensione foo appartiene al package principale, il suo script di setup potrebbe essere
from distutils.core import setup
setup(name='foobar',
      version='1.0',
      ext_modules=[Extension('foo', ['foo.c'])],
      )

Con esattamente lo stesso schema d'albero del sorgente, questa estensione può essere inserita nel package foopkg semplicemente cambiando il nome dell'estensione:

from distutils.core import setup
setup(name='foobar',
      version='1.0',
      ext_modules=[Extension('foopkg.foo', ['foo.c'])],
      )

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.