在Windows 8 for python 2.7上使用多个pyx文件构建cython

在Windows 8 for python 2.7上使用多个pyx文件构建cython,python,c,compilation,cython,python-extensions,Python,C,Compilation,Cython,Python Extensions,要构建,我使用distutils: python setup.py build_ext --inplace from distutils.core import setup from Cython.Build import cythonize setup( ext_modules = cythonize('test.pyx') ) from distutils.core import setup from distutils.extension import Extension f

要构建,我使用distutils:

python setup.py build_ext --inplace
from distutils.core import setup
from Cython.Build import cythonize

setup(
    ext_modules = cythonize('test.pyx')
)
from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize

# This is the new part...
extensions = [
    Extension('test', ['test.pyx', 'test2.pyx'])
]

setup(
    ext_modules = cythonize(extensions)
)
def say_hello_to2(name):
    print("Hello %s!" % name)
构建一个简单的
pyx
-文件工作(setup.py):

python setup.py build_ext --inplace
from distutils.core import setup
from Cython.Build import cythonize

setup(
    ext_modules = cythonize('test.pyx')
)
from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize

# This is the new part...
extensions = [
    Extension('test', ['test.pyx', 'test2.pyx'])
]

setup(
    ext_modules = cythonize(extensions)
)
def say_hello_to2(name):
    print("Hello %s!" % name)
生成多个文件(setup.py):

python setup.py build_ext --inplace
from distutils.core import setup
from Cython.Build import cythonize

setup(
    ext_modules = cythonize('test.pyx')
)
from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize

# This is the new part...
extensions = [
    Extension('test', ['test.pyx', 'test2.pyx'])
]

setup(
    ext_modules = cythonize(extensions)
)
def say_hello_to2(name):
    print("Hello %s!" % name)
test2.pyx:

python setup.py build_ext --inplace
from distutils.core import setup
from Cython.Build import cythonize

setup(
    ext_modules = cythonize('test.pyx')
)
from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize

# This is the new part...
extensions = [
    Extension('test', ['test.pyx', 'test2.pyx'])
]

setup(
    ext_modules = cythonize(extensions)
)
def say_hello_to2(name):
    print("Hello %s!" % name)
构建上面的方法很好,我看到编译和链接都成功完成了,但是方法
say_hello\u to2
似乎不是二进制的。启动python,运行下面的显示模块中只有
test.pyx
的方法:

>>> import test
>>> dir(test)
['InheritedClass', 'TestClass', '__builtins__', '__doc__', '__file__', '__name__
', '__package__', '__test__', 'fib', 'fib_no_type', 'primes', 'say_hello_to', 's
in']
>>>

是否可以将多个
pyx
-文件添加到扩展生成中?

您可以传递多个扩展,如:

extensions = [Extension('test', ['test.pyx']),
              Extension('test2', ['test2.pyx'])]