我正在尝试将cython模块data.pyx导入另一个cython模块user.pyx。一切编译正常,但是当我尝试在python模块中调用user.pyx时,出现错误“ ImportError:没有名为data的模块”。
一切都在同一目录中。
package/ __init__.py #empty setup.py data.pxd data.pyx user.pyx
我的setup.py
from distutils.core import setup from distutils.extension import Extension from Cython.Distutils import build_ext ext_modules = [ Extension("data", ["data.pyx"]), Extension("user", ["user.pyx"],include_dirs = ['myPackageDir']) ] setup( name = 'app', cmdclass = {'build_ext': build_ext}, ext_modules = ext_modules )
运行以下test.py将引发错误。
import user #this line raised the 'ImportError: No module named data' below user.doSomething()
我得到的例外是
Traceback: File "test.py", line 1, in <module> import package.user File "user.pyx", line 1, in init user (user.c:3384) ImportError: No module named data
如何进行导入?谢谢你的帮助。
我可能缺少有关Cython的一些信息,但我认为是:
import package.user user.doSomething()