码迷,mamicode.com
首页 > 编程语言 > 详细

Win7 (64)+ VS2010 + Python2.7.9 安装 gevent 0.13.8

时间:2015-05-24 17:33:08      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:

Win7是64位的

1. 下载gevent安装包

去gevent官网下载个source包, 地址是这里 http://pypi.python.org/packages/source/g/gevent/gevent-0.13.8.tar.gz

我下载到的是 gevent-0.13.8.tar.gz,解压

2. 安装

假设解压到A目录下,则cmd命令窗口 cd 到该目录下,运行里面的fetch_libevent.py文件

python fetch_libevent.py  

执行这个py文件,获得libevent的源码包,接下来是编译,运行里面的setup.py文件

python setup.py build 

如果是我这种环境,这里会出错(安装了VS2008应该没有问题),是VS版本的问题,要手动改下编译设置。

(我的Python安装在C盘根目录下面,所以)更改C:\Python27\Lib\distutils\msvc9compiler.py文件中的参数设置:

?
1
2
3
ifnot productdir ornot os.path.isdir(productdir):
        toolskey="VS100COMNTOOLS"#"VS%0.f0COMNTOOLS" % version
        toolsdir=os.environ.get(toolskey, None)

直接写死toolskey = "VS100COMNTOOLS",后面我注释掉的是原来的默认代码。

此时在执行构建libevent的命令

python setup.py build 

此时能够开始编译了,但是编译会报错:

libevent-src\http.c(145) : error C2011: ‘addrinfo‘ : ‘struct‘ type redefinition

这是因为,VS2010自带的库中已经定义了addrinfo这个结构体,所以,改掉libevent-src\http.c里面的这个结构体的名字,就能编译了(这个结构体随便改成其他名字就可以了),我改成了addrinfo1:

?
1
2
3
4
5
6
7
8
structaddrinfo1 {
    intai_family;
    intai_socktype;
    intai_protocol;
    size_tai_addrlen;
    structsockaddr *ai_addr;
    structaddrinfo *ai_next;
};
然后再构建,就应该OK了

构建完成之后,安装即可,安装命令:

python setup.py install

安装完成之后可以通过python的help()查看模块,里面应该就有gevent了

技术分享

Win7 (64)+ VS2010 + Python2.7.9 安装 gevent 0.13.8

标签:

原文地址:http://blog.csdn.net/feeltouch/article/details/45952443

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!