win10下python3.6安装Cython模块

Cython语言使Python语言的C语言扩展与Python本身一样简单。Cython是基于Pyrex的源代码转换器,但支持更多前沿功能和优化。

Cython语言是Python语言的超集(几乎所有Python代码也是有效的Cython代码),但Cython还支持可选的静态类型,本机调用C函数,使用C ++类操作并在变量和类属性上声明快速C类型。这允许编译器从Cython代码生成非常有效的C代码。

这使得Cython成为编写外部C / C ++库的粘合代码以及加速Python代码执行的快速C模块的理想语言。
环境要求,安装VS2015,并添加环境变量

安装

方法一:打开自己的环境,执行:

pip install Cython --install-option =-  no-cython-compile”

方法二:进入https://pypi.org/project/Cython/#files下载与你版本对应的Cython,比如下载的为Cython-0.29.14-cp36-cp36m-win_amd64.whl
执行pip命令:

pip install Cython-0.29.14-cp36-cp36m-win_amd64.whl

成功会提示

(python3) D:\>pip install Cython-0.29.14-cp36-cp36m-win_amd64.whl
Processing d:\cython-0.29.14-cp36-cp36m-win_amd64.whl
Installing collected packages: Cython
Successfully installed Cython-0.29.14

在Python的/Scripts目录下会出现cython.exe、cygdb.exe、cythonize.exe。

测试

1、 新建demo
新建一个hellocython.pyx的demo,内容如下:

cdef extern from"stdio.h":
    extern int printf(const char *format, ...) 
def SayHello():
    printf("hello,world\n")
    return 0

代码作用:调用c函数的printf打印hello,world

2、编译demo
创建setup.py的文件:

from distutils.core import setup
from distutils.extension import Extension
from Cython.Build import cythonize

setup(
    name='hellocython',
    ext_modules=cythonize([
        Extension("hellocython", ["hellocython.pyx"]),
    ]),
)

编译:在cmd中进入setup.py目录,执行:

python setup.py build

3、安装
在编译目录下,运行

python setup.py install

安装后会在对应python目录的python3\Lib\site-packages下生成hellocython-0.0.0-py3.6.egg-info
这样就安装成功了,如果不想安装,只想测试一下,可以把hellocython.cp36-win_amd64.pyd拷贝到当前目录
或者在import hellocython前执行

import sys
sys.path.append("pathof hellocython.pyd")

4、测试

>>>import hellocython
>>>hellocython.SayHello()
hello,world

你可能感兴趣的:(python)