Оказывается, setuptools
имеет модуль setuptools.extension.Extension
, который используется так же, как модуль distutils.extension.Extension
.
В конце файл setup.py
выглядит примерно так:
from setuptools import setup, find_packages
from setuptools.extension import Extension
from Cython.Build import cythonize
extensions = [
Extension(
"myPackage.myModule",
["myPackage/myModule.pyx"],
include_dirs=['/some/path/to/include/'], # not needed for fftw unless it is installed in an unusual place
libraries=['fftw3', 'fftw3f', 'fftw3l', 'fftw3_threads', 'fftw3f_threads', 'fftw3l_threads'],
library_dirs=['/some/path/to/include/'], # not needed for fftw unless it is installed in an unusual place
),
]
setup(
name = "myPackage",
packages = find_packages(),
ext_modules = cythonize(extensions)
)
Ниже приведен обзор моей установочной директории:
.
├── MANIFEST.in
├── myPackage
│ └── myModule.pyx
├── README.rst
└── setup.py
, где myModule.pyx
- это файл, который вызывает fftw_set_timelimit()
.
MANIFEST.in
содержит:
include myPackage/*.*
и README.rst
- простой текстовый файл.
Посмотрите этот ссылка для объяснения того, что означают переменные состояния.
объект состояния оценен, когда привязка сделана.
Также имеют в виду представленные новые теги form того Spring 2.0, которые вероятны лучше удовлетворенные для Ваших потребностей.