Python ImportError:没有名为primes的模块
我尝试在Linux环境下使用python和cython,因此我尝试使用cython文档中提到的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。可以找到关于这方面的文档 尝试添加
primes.pyx
示例
我在xyz
目录中创建了primes.pyx
,并使用cythonprimes.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_运行到,我不确定如何执行该模块。你能帮我吗。非常感谢。