当前位置: 首页 > 面试题库 >

Cython:ImportError:没有名为“ myModule”的模块:如何调用包含cimport的cython模块到另一个cython结节?

齐宗清
2023-03-14
问题内容

我正在尝试将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()


 类似资料:
  • 假设我们有一个cython类,它的指针指向,如 我们还在另一个模块中有一个cython类,它需要访问下的数据: 使用和的相应Python代码可能类似于 我们如何定义以及在中,我们将对使用什么?

  • 问题内容: 我发现用Python导入模块很复杂,因此我正在做一些实验来清除它。这是我的文件结构: 内容: 内容: 当我离开(in )并执行时,我得到: 预期输出为。我究竟做错了什么? 但是,我可以在交互模式下获得预期的输出: 问题答案: 首先,让我们看看Python如何搜索包和模块。 字符串列表,用于指定模块的搜索路径。从环境变量初始化,再加上与安装有关的默认值。 那就是搜索路径。因此,如果您的模

  • 我在Ubuntu 14上工作。我安装python3和pip3。当我尝试使用pip3时,我有这个错误 有人知道是什么问题吗? 非常感谢

  • 嗨,我正在学习线性代数与python的Edx课程。(http://nbviewer.ipython.org/github/ULAFF/notebooks/tree/may-14-2014/). 在第一个框中的“02.4.2.10矩阵向量乘法练习”中,代码为: 生成问题是Edx教授创建的一个模块。但是,我在导入Symphy时出错。 我得到的错误如下: 我下载并安装了症状,如果我导入,它可以在终端(苹

  • 问题内容: 我正在将Django应用程序部署到开发服务器,并且在运行时遇到此错误: 似乎与一起分发。最初,我认为这可能不会安装到virtualenv中的Python,所以我使用以下命令将了(与Python相同的版本)安装到virtualenv 中的Python站点软件包: 编辑:这只发生在virtualenv内部。如果我在virtualenv外部打开控制台,则该控制台存在,但仍然出现相同的错误。