使用cython将模块移植到python 3.1

use*_*494 6 c python module numpy cython

是否可以在cython中导入任意模块,将它们编译为共享对象文件,然后在python 3.1中使用它们?

原因是,我正在编写程序"blender"的扩展,它有一个内部python 3.1解释器.但我还想使用一些未移植到3.x的python模块

我脑子里特别笨拙(还有其他一些图书馆).我有一个模块,它使用numpy.由于我想重新分发该模块,我不希望人们在他们的机器上安装numpy.那会有用吗?

Tho*_*s K 4

原则上,我相信这是可能的。Cython 的工作原理是将类似 Python 的代码转换为 C 代码。该代码可以针对 Python 2 或 Python 3 进行编译(它使用 C 预处理器语句来更改使用的代码)。

坏消息是它仅适用于用 Cython 可以翻译的类似 Python 代码编写的扩展。您不能在用 C 编写的扩展(例如 Numpy)上使用 Cython。

好消息是,至少对于 Numpy 来说,您不必这样做。从版本 1.5开始,Numpy 支持 Python 3。有一个适用于 Windows 的二进制文件;在其他系统上,您可能需要自己弄清楚如何编译代码。