Python ImportError:没有名为primes的模块

Python ImportError:没有名为primes的模块,python,cython,importerror,Python,Cython,Importerror,我尝试在Linux环境下使用python和cython,因此我尝试使用cython文档中提到的primes.pyx示例 我在xyz目录中创建了primes.pyx,并使用cythonprimes.pyx编译了该文件。在调用python解释器并尝试导入素数之后,我遇到了以下问题 ImportError: No module named primes 有人能帮我吗 在我看来,这可能是一个忘记导入模块的情况,该模块允许您直接导入.pyx文件,而无需setup.py。可以找到关于这方面的文档 尝试添加

我尝试在Linux环境下使用python和cython,因此我尝试使用cython文档中提到的
primes.pyx
示例

我在
xyz
目录中创建了
primes.pyx
,并使用cython
primes.pyx
编译了该文件。在调用python解释器并尝试导入素数之后,我遇到了以下问题

ImportError: No module named primes

有人能帮我吗

在我看来,这可能是一个忘记导入模块的情况,该模块允许您直接导入
.pyx
文件,而无需
setup.py
。可以找到关于这方面的文档

尝试添加

导入pyximport;pyximport.install()

到模块顶部,或者在尝试导入素数之前在解释器中运行它

Cython模块需要先编译,然后才能使用。您有两个(好)选项:为模块创建
setup.py
,如中所述,或者使用
pyximport
自动编译和构建模块,只需导入

如果您的模块具有其他库依赖项,或者分布在多个文件中,则第一个选项是最好的。第二个选项最适合小型独立模块


要使用
pyximport
,请添加
import-pyximport;pyximport.install()
在导入任何Cython模块之前。然后,当您
导入
Cython模块时,Cython将根据需要自动编译该模块。

在调用解释器的同一目录中是否有
primes.pyd
文件?我没有primes.pyd,我只有primes.pyx和primes.c。在编译该文件时,它给出了一个错误,表示python.h未找到,这意味着您需要安装python源代码。大多数Linux发行版都会有相应的软件包。我已经安装了python-2.7.3,我可以在下面的/usr/bin/python-2.7.3/Include/python.h/usr/local/Include/python2.7/python.h中看到python.h。继续阅读文档:哇,你的建议奏效了,非常感谢jdotjdot89对我的帮助。非常感谢大家抽出时间。很高兴我能帮上忙。如果这对你有用,你应该接受这个答案,这样将来的读者就会知道;安装()工作。我在尝试使用setup.py导入时遇到了一些困难。我创建了hello.pyx示例,如文档中所示,在创建setup.py的同一目录中,然后执行cython hello.pyx和python setyp.py build_ext--in place,然后启动python并从hello import say_hello_运行到,我不确定如何执行该模块。你能帮我吗。非常感谢。