我可以通过普通的Python脚本使用Cython进行编译吗?

时间:2014-05-17 18:56:53

标签: python cython

Cython有时可以通过转换代码并在C中运行来显着减少计算时间。有没有办法通过使用一些import--函数通过普通脚本使用Cython?

我下载了Python(x y),甚至不确定最好的'方式是使用Python。 iPython笔记本或Spyder等......?

我的其他选择是什么?

1 个答案:

答案 0 :(得分:3)

您可以在.pyx文件中编写您的cython代码。

然后使用pyximport通过添加如下内容来编译它:

  `import pyximport;     
   pyximport.install()` 
   from foo import foo # finds foo.pyx automatically

它检测cython文件中的更改并在必要时重新编译,或者加载缓存的模块。

从i fib.pyx所在目录中运行ipython的简单示例:

我的fib.pyx看起来像是:

def cython_fib(int n):
    cdef long i,a, b
    a,b = 0,1
    for i in xrange(n):
         a,b = b,a + b
    return a

然后我导入pyximport等..

In [1]: import pyximport 

In [2]: pyximport.install()
Out[2]: (None, <pyximport.pyximport.PyxImporter at 0x7f0139916e10>)

In [3]: from fib import cython_fib # import like a normal python import

In [4]: cython_fib(20)
Out[4]: 6765