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

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
if not productdir or not 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
struct addrinfo1 {
     int ai_family;
     int ai_socktype;
     int ai_protocol;
     size_t ai_addrlen;
     struct sockaddr *ai_addr;
     struct addrinfo *ai_next;
};
然后再构建,就应该OK了

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

python setup.py install

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

Win7 (64)+ VS2010 + Python2.7.9 安装 gevent 0.13.8_第1张图片

你可能感兴趣的:(Python,技术思想/开发管理/工具使用,Python花园)