Cython使用心得

编译Cython文件

使用一个简单的pyx文件:

def Hello:
    print("Hello, World!")
  • 使用Distutils 编译

    编写setup.py:

    from distutils.core import setup
    from Cython.Build import cythonize
    
    
    setup(
        name = 'hello',
        ext_modules = cythonize('hello.pyx'),
    )

    cythonize 后可跟随一个待编译的pyx文件或者一个list的待编译pyx文件,比如:

    cythonize(['hello.pyx', 'world.pyx', '*.pyx'])

    然后在command line中执行setup.py:

    $ python setup.py build_ext --inplace

    其中,--inplace 选项使生成的hello.so文件与hello.pyx文件处于同一位置。否则,hello.so将位于一个特定的build directory.

    之后,无论实在Ipython Shell、Ipython Notebook还是其他编辑器中都可以使用Hello模块了(当然需要注意文件路径问题)。比如在Ipython Shell中:

    >>> from Hello import Hello
    >>> Hello()
    Hello, World!
  • 在Ipython Notebook中使用(强推

    首先加载Cython支持

    %load_ext cython

    在代码块开头添加 %%cython marker,然后直接开始写pyx文件。运行代码块即完成编译。

    %%cython
    def hello():
        print("Hello, World!")

    之后就可以直接使用hello函数了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值