Archlinux使用最新版goagent的几点注意(无法上传问题)

来源:互联网 发布:网络吞吐率 编辑:程序博客网 时间:2024/06/05 21:49

I、在Arch下,goagent使用的是python2而不是python


II、几日前的最新版本有个bug。。非ubuntu发行版的源中python-gevent(即Arch源中的python2-gevent)不是最新版,而这个版本的goagent是根据这个最新版开发的。因此上传不成功(客户端貌似可以继续用)。错误提示:

./proxy.py:20: UserWarning: libevent version mismatch: system version is '2.0.21-stable' but this gevent is compiled against '2.0.20-stable' import gevent

不知道最新版有没有解决这个问题。。估计是会等各发行版升级gevent吧


III、网上解决这个问题的办法是卸载从源上安装的gevent,手动编译安装:

$ git clone https://github.com/SiteSupport/gevent.git gevent$ cd ./gevent# yum install Cypthon# make# ./setup.py install
以上是fedora的解决办法。。但是正如我所说的第一点,这样做在Arch上是不行的。在Arch下需要一些改动。
首先是安装cython2而不是cython:
# pacman -S cython2
然后依然如上所示
$ git clone https://github.com/SiteSupport/gevent.git gevent
$ cd ./gevent
但是不能直接编译,应该:
$ vim Makefile
这时你会看到makefile开头处会有宏:
PYTHON ?= python
CYTHON ?= cython
这里把python改成python2,cython改成cython2(即直接在后面加上2)
保存推出
$ vim setup.py
你会看到开头的声明:
#!/usr/bin/env python
一样的,把python改成python2:
#!/usr/bin/env python2
保存退出。
之后编译安装:
$ make
# ./setup.py install
这样最新的gevent就安装完毕。可以成功上传了。。(上传貌似也不是一直顺利,我是两次才上传成功的)
$ cd <path of goagent dir.>
$ python2 uploader.zip
.....