本文主要介绍在Mountain Lion系统上安装gevent,写作时实际操作环境是OS X 10.8.2。为什么要装gevent,就不多解释了,简单来说是goagent最近重写了代码,得用到这个插件;gevent的作用和原理,我也没研究,按照这个步骤,能装、能用,over。
1. 安装 XCode,在App Store中选择安装XCode,程序是免费的。安装好之后启动并在XCode菜单的preference里安装Command line tools。这个的关键是布置了安装后续软件的环境。
我们还需要多做两步,打开终端程序,运行:
sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
sudo chmod 777 /Library/Python/2.7/site-packages/
2. 安装brew:在终端执行
ruby -e “$(curl -fsSkL raw.github.com/mxcl/homebrew/go)” –请注意都是半角英文双引号
3. 安装libevent:在终端执行
brew install libevent
4. 安装pip:在终端执行
easy_install pip
5. 安装cython:在终端执行
pip install cython
6. 安装greenlet:在终端执行
sudo pip install greenlet
7. 安装gevent:在终端执行
curl -k -L http://git.io/I9B7RQ|sh
需要注意的是,整个过程是需要联网下载安装包的,特别最后一步,如果失败,请尝试修改hosts或者先通过其他方式搞通你的网络。
本文参考:https://code.google.com/p/goagent/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary&groupby=&sort=&id=7062 在该文基础上增加了个别步骤,解决部分报错。感谢原作者。
LeoZhu
2012年11月14日 @ 19:50
第二步终端返回如下信息:
-e:1: Invalid char `\342′ in expression
-e:1: Invalid char `\200′ in expression
-e:1: Invalid char `\234′ in expression
我是不是哪步做错了?
ern
2012年11月14日 @ 20:11
第二步不要拷贝横杠后面的说明,另外注意拷贝出来有可能变成中文双引号,你要手工替换成英文的双引号
LeoZhu
2012年11月14日 @ 20:51
所有步骤成功之后 开始python uploader.zip 输入APP ID 邮箱后 出现如下错误:
Traceback (most recent call last):
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py”, line 162, in _run_module_as_main
“__main__”, fname, loader, pkg_name)
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py”, line 72, in _run_code
exec code in run_globals
File “uploader.zip/__main__.py”, line 10, in
File “uploader.zip/__main__.py”, line 6, in main
File “uploader.zip/appcfg.py”, line 80, in main
File “uploader.zip/appcfg.py”, line 71, in upload
File “uploader.zip/google/appengine/tools/appcfg.py”, line 3873, in main
File “uploader.zip/google/appengine/tools/appcfg.py”, line 2443, in Run
File “uploader.zip/google/appengine/tools/appcfg.py”, line 3638, in __call__
File “uploader.zip/google/appengine/tools/appcfg.py”, line 3141, in Rollback
File “uploader.zip/google/appengine/tools/appcfg.py”, line 3158, in _Rollback
File “uploader.zip/google/appengine/tools/appcfg.py”, line 2018, in Rollback
File “uploader.zip/google/appengine/tools/appcfg.py”, line 1698, in Send
File “uploader.zip/google/appengine/tools/appengine_rpc.py”, line 378, in Send
File “uploader.zip/google/appengine/tools/appengine_rpc.py”, line 436, in _Authenticate
File “uploader.zip/google/appengine/tools/appengine_rpc.py”, line 319, in _Authenticate
File “uploader.zip/google/appengine/tools/appengine_rpc.py”, line 253, in _GetAuthCookie
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”, line 394, in open
response = self._open(req, data)
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”, line 412, in _open
‘_open’, req)
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”, line 372, in _call_chain
result = func(*args)
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”, line 1207, in https_open
return self.do_open(httplib.HTTPSConnection, req)
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py”, line 1174, in do_open
raise URLError(err)
urllib2.URLError:
Exception KeyError: KeyError(4381090512,) in ignored
ern
2012年11月14日 @ 21:23
@LeoZhu
嗯?你这个比较奇怪哦,到goagent官网问问吧。我感觉是你当前网络链接的问题,连G本身就有问题了。
LeoZhu
2012年11月14日 @ 21:34
博主最近goagent用得正常吗 不知道是不是开会的问题 我现在翻不了上不去官网 哈哈@ern
ern
2012年11月14日 @ 22:13
@LeoZhu
肯定是这个问题啦,要结合比如hosts
liuropot
2012年12月23日 @ 11:58
我怎么没这么麻烦呢?几下子就安装好了。
tigerlok
2013年1月24日 @ 08:52
这个何解?
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0
100 173 100 173 0 0 71 0 0:00:02 0:00:02 –:–:– 165
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 139 100 139 0 0 126 0 0:00:01 0:00:01 –:–:– 177
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.
ern
2013年1月24日 @ 11:07
看起来是下载不完整哦,换个时间试试吧。或者看看是否网络问题
websterww
2013年3月16日 @ 16:52
感谢楼主的详尽步骤。我也卡在最后一步了,碰到和楼上一样的错。请问是网络问题吗@ern
ern
2013年3月16日 @ 16:54
是的,应该是网络问题,需要翻之类的方法,你懂的
Chu
2013年4月24日 @ 19:00
我也是这个问题。。
ern
2013年4月24日 @ 19:22
网络问题,包没有完整下载
iShare
2013年4月30日 @ 22:32
@tigerlok
是 gevent 转移之后 http://git.io/I9B7RQ 里面的命令没有更新,用 curl -L -O https://github.com/downloads/surfly/gevent/gevent-1.0rc2.tar.gz && tar xvzpf gevent-1.0rc2.tar.gz && cd gevent-1.0rc2 && sudo python setup.py install 就可以了
iShare
2013年4月30日 @ 22:34
@Chu
gevent 项目转移之后 http://git.io/I9B7RQ 里面的命令没有更新,用 curl -L -O https://github.com/downloads/surfly/gevent/gevent-1.0rc2.tar.gz && tar xvzpf gevent-1.0rc2.tar.gz && cd gevent-1.0rc2 && sudo python setup.py install 安装就可以了