文档章节

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

WilsonET
 WilsonET
发布于 2013/04/06 15:59
字数 676
阅读 9718
收藏 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
2018/04/21
0
0
PyRFC库的安装

Windows 7英文系统安装PyRFC库步骤 0 Python for windows https://www.python.org/downloads/windows/ Install Python 2 32-bit version. Get Python from https://www.python.org/downloads......

OliverZGY
2015/12/14
3
0
Python 与 C/C++ 交互的几种方式

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

吴金瑞
2018/06/26
0
0
加速你的Python代码

在我看来,python社区分为了三个流派,分别是python 2.x组织,3.x组织和PyPy组织。这个分类基本上可以归根于类库的兼容性和速度。这篇文章将聚焦于一些通用代码的优化技巧以及编译成C后性能的...

renwofei423
2013/03/23
14.9K
18
老司机都开火箭了!Cython 助力 Python NLP 实现百倍加速

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

隔壁王大喵
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

postgres预写式日志的内核实现详解-heap2类型

导读: postgres预写式日志的内核实现详解-概述 postgres预写式日志的内核实现详解-wal记录结构 postgres预写式日志的内核实现详解-wal记录写入 postgres预写式日志的内核实现详解-wal记录读...

movead
18分钟前
0
0
ToolBar控件在C#开发APP中的使用方式【附案例源码】——Smobiler移动开发平台

控件说明 底部工具栏控件。 效果演示 其他效果 该界面为仿淘宝UI制作的一个简单的UI模板,源码获取方式请拉至文章末尾。 特色属性 属性 属性说明 Direction(相对布局) 容器主轴方向。 Flex...

amanda112
29分钟前
1
0
模块

AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。所有依赖这个模块的语句,都定义在一个回调函数中,等...

gtandsn
35分钟前
1
0
代码之外的生存指南,这6本书助你提升软实力

上期盟主向大家推荐了6本技术类书籍,引起了热烈反响。那么,工作之余,还有哪些好书能够为你打开更多的精彩世界呢?本期,多位知名企业的技术大咖将继续为您带来好书推荐,在新的一年里,为...

安卓绿色联盟
38分钟前
3
0
5分钟用Jitpack发布开源库

作者: 菜刀文 Demo:https://github.com/helen-x/JitPackReleaseDemo 项目开发中会用到很多开源库, 他们一般通过Maven/Gradle依赖进来的. 演而优则唱,开发越来越溜以后, 你是否也蠢蠢欲动,想发...

SuShine
44分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部