我正在尝试在Linux环境下使用python和cython,所以我尝试使用cython文档中提到的primes.pyx
示例。
我在primes.pyx
目录中创建了xyz
,并使用cython primes.pyx
编译了该文件。在调用python解释器然后尝试导入素数后,我遇到了以下问题。
ImportError: No module named primes
有些身体可以帮助我吗?
答案 0 :(得分:2)
Cython模块需要先编译才能使用。您有两个(好)选项:为模块创建setup.py
,如this page所述,或者使用pyximport
自动编译和构建模块,只需import
}。
如果您的模块具有其他库依赖项,或者分布在多个文件中,则第一个选项最佳。第二种选择最适用于小型,独立的模块。
要使用pyximport
,请在导入任何Cython模块之前添加import pyximport; pyximport.install()
。然后,当你import
一个Cython模块时,Cython会在需要时自动编译模块。
答案 1 :(得分:0)
这听起来像是一个忘记导入模块的情况,该模块允许您在没有.pyx
的情况下导入直接setup.py
文件。有关该文档的文档可以在here找到。
尝试添加
import pyximport; pyximport.install()
到模块的顶部,或者在尝试import primes
之前在解释器中运行它。