文档章节

Python的Cython在Windows环境下的部署安装

WilsonET
 WilsonET
发布于 2013/04/06 15:59
字数 676
阅读 9446
收藏 9

    大学课程主教java,搞过java web 后,突发感想对于OO语言的了解,以及设计模式与OO语言的优美的配合,但同时也发现java开发的周期性十分长,于是就四处需找不错的语言,终于发现了Python。

    不过,Python是解释性语言,机制效率相对于C/C++ 这种编译性语言效率会较低,也相对Java也会很低,不过,Python又名胶水语言,这也是吸引我的地方,他强大的类库,其他语言的扩充,如:Cython,Jython,IronPython等等,你说能不诱人么

    昨天一时兴起,玩起了Cython,但是发现,windows下的环境是多么的令人蛋疼,所以经过google,以及Python交流群的帮忙,最后终于完成了Cython编译的所需环境,下面,我来给大家说下,安装Cython所遇到的问题。

1、安装官方Cython提供的压缩包:

地址:http://www.cython.org/#download

解压后,在解压目录运行cmd命令:(在此之前,你要确保你的系统环境Path,有Python的安装目录)

python setup.py install

突然发现,运行出现‘error:Unable to find vcvarsall.bat’的错误

别急,这时我们在Python的安装目录:Python27\Lib\distutils 下新建一个文件,文件名为:distutils.cfg

里面内容如下:

[build]
compiler = mingw32

[build_ext]
compiler = mingw32

然后,我们重新回到Cython文件下,运行安装命令

此时发现又出现错误:

error: command 'gcc' failed: No such file or directory

这是因为我们缺少gcc编译环境!此时,我们需要为windows系统安装一个gcc环境,推荐用MinGW

下载地址:http://sourceforge.net/projects/mingw/files/

下载安装后,例如,我安装在D:\MinGW,将D:\MinGW\bin 配置到环境变量Path下,重启cmd,运行安装命令

此时,若还出现错误:error: command 'gcc' failed: No such file or directory


 

这是因为Python环境的问题,我们只需要在Python目录下:C:\Python27\Lib\distutils 里的cygwinccompiler.py 文件,将里面出现的字符串'-mno-cygwin'的全部删掉,就可以成功安装了。

如果,你觉得这么安装十分困难,十分麻烦,没事,我有一个Python类库安装版的网站

地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#cython

不过,很遗憾的是,如果你没有安装MinGW,以及修改添加相应的文件,你在编译相关的Cython程序也会照样出现这样的问题,所以,别懒了!

至于Cython的例子

推荐一篇文章:http://gashero.iteye.com/blog/649516

若大伙要是看不懂,就请留言,我给你们解答,或是到时写一篇详细的例子博文

© 著作权归作者所有

共有 人打赏支持
WilsonET
粉丝 1
博文 4
码字总数 2061
作品 0
广州
程序员
加载中

评论(1)

crisfan
crisfan
楼主,请问下你说的删掉字符串'-mno-cygwin'删掉是什么意思?这个if else都删掉吗?
C/C++ 和 Python混合编程

链接:https://www.zhihu.com/question/23003213/answer/56121859 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 #include int main(int argc, char *...

sirius_0
04/21
0
0
Python 与 C/C++ 交互的几种方式

python作为一门脚本语言,其好处是语法简单,很多东西都已经封装好了,直接拿过来用就行,所以实现同样一个功能,用Python写要比用C/C++代码量会少得多。但是优点也必然也伴随着缺点(这是肯...

吴金瑞
06/26
0
0
老司机都开火箭了!Cython 助力 Python NLP 实现百倍加速

雷锋网 AI 研习社按:本文的作者是来自 Hugging face 的科学家 Thomas Wolf,他的研究方向包括机器学习、自然语言处理和深度学习。在这篇博客中,他介绍了如何利用 Cython 和 spaCy 让 Pyth...

隔壁王大喵
06/26
0
0
比Python快100倍,利用Cython实现高速NLP项目

选自Medium,作者:Thomas Wolf,机器之心编译。 相关 Jupyter Notebook 地址:github.com/huggingface… 去年我们发布 Python 包 coreference resolution package 后,我们收到了来自社区的...

07/16
0
0
教程 | 比Python快100倍,利用spaCy和Cython实现高速NLP项目

  选自Medium   作者:Thomas Wolf   机器之心编译   参与:乾树、刘晓坤      Cython 是一个工具包,可以使你在 Python 中编译 C 语言,这就是为什么 numpy 和 pandas 很快的原...

机器之心
07/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

白话SpringCloud | 第十章:路由网关(Zuul)进阶:过滤器、异常处理

前言 简单介绍了关于Zuul的一些简单使用以及一些路由规则的简单说明。而对于一个统一网关而言,需要处理各种各类的请求,对不同的url进行拦截,或者对调用服务的异常进行二次处理等等。今天,...

oKong
4分钟前
0
0
详解nohup和& 区别

详解nohup和& 区别 2017年11月29日 16:57:38 King-Long 阅读数:7266 版权声明:本文为博主原创文章,欢迎转载。 https://blog.csdn.net/u011095110/article/details/78666833 nohup 一、【解...

linjin200
16分钟前
0
0
Character的static方法

基本类型char的包装类是Character,使用的比较多,大家是比较熟悉的。 我只是觉得里面有很多static方法,平时不怎么用,学习一下怎么实现的,或许日后就用到了。 static int compare(char x,...

woshixin
17分钟前
0
0
正则介绍_sed

10月17日任务 9.4/9.5 sed sed工具 匹配打印 -n 只打印匹配行,不然其他行也会打印出来 p 打印(配合-n使用) [root@centos7 tmp]# sed -n '/root/'p passwd root:x:0:0:root:/root:/bin/ba...

robertt15
17分钟前
0
0
轻松解码类似eval(function(p,a,c,k,e,d){}))的JavaScript代码

轻松解码类似eval(function(p,a,c,k,e,d){}))的JavaScript代码 2013年05月22日 15:18:05 秋实先生 阅读数:14826 这里解码百度访问统计代码构造函数为示例: 百度访问统计代码JavaScript源码:...

_纵横捭阖_
25分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部