Cython子模块上的ImportError

时间:2014-05-24 06:22:47

标签: python cython importerror setup.py

我不明白如何让Cython从包含子模块的模块中正确构建单个.pyd

当前setup.py给出了子模块的导入错误。

我在规则下面给出了设置,我将cythontest.pydsubmod.pyd移动到另一个文件夹并在那里启动解释器。不幸的是我收到了这个错误:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "__init__.py", line 1, in init cythontest (cythontest\__init__.c:981)
ImportError: No module named submod

这是我的代码:

cythontest/
    __init__.py
    submod/
         __init__.py

### cythontest/__init__.py

import cythontest.submod

def test():
    print("cythontest/__init__.py/test()")
    cythontest.submod.test()

### cythontest/submod/__init__.py

def test():
    print("cythontest/submod/__init__.py/test()")

### setup.py

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

setup(
    name = 'cythontest',
    cmdclass = {'build_ext': build_ext},
    ext_modules = [
          Extension("cythontest",        sources=["cythontest\\__init__.py"])
        , Extension("cythontest.submod", sources=["cythontest\\submod\\__init__.py"])
    ]
    , include_dirs = ['.', 'cythontest']
    , script_args = ['build_ext', '--inplace', '--compiler=mingw32'] 
)

0 个答案:

没有答案