4

我正在尝试在 Linux 环境下使用 python 和 cython,所以我尝试使用primes.pyxcython 文档中提到的示例。

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

ImportError: No module named primes

一些身体可以帮助我。

4

2 回答 2

4

Cython 模块需要先编译才能使用。你有两个(好的)选择:或者setup.py为模块制作一个,如本页所述,或者使用pyximport自动编译和构建你的模块import

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

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

于 2012-10-16T04:59:48.017 回答
0

在我看来,这可能是忘记导入模块的情况,该模块可让您导入.pyx没有setup.py. 可以在此处找到相关文档。

尝试添加

import pyximport; pyximport.install()

到模块的顶部,或者在尝试之前在解释器中运行它import primes

于 2012-10-16T04:53:23.877 回答