【转】Linux 安装goagent
转自: http://blog.csdn.net/tender001/article/details/7694913
记录心酸的goagent过程,
耗费时间1天,原因还是因为对python的不熟悉,每次都报缺少包错误,然后各种找不到,由于goagent是屏蔽关键字,so每次搜索问题google 各种打不开,这样也更加坚定了今天不睡觉也要把goagent搞定的决心
普通流程:
2.下载 goagent
如果打不开,直接使用:
3.进入${goagent}/local
修改
proxy.ini ,把里面的appid修改成你的appid
4.c
hrome请安装SwitchySharp插件
在google应用商店搜索,然后直接安装
6.
打开 SwichySharp 设置–导入/导出–从文件恢复,选择刚刚下载的GFWlist.bak
7.
选择情景模式,情景模式名称自己随便填。下面手动配置–HTTP代理填入你的代理
HTTP代理 127.0.0.1 端口
8087
不代理的地址 localhost; 127.0.0.1; <local>
点击保存
8.
导入ca.crt文件
谷歌浏览器,设置,高级选项,HTTPS/SSL,管理证书,导入,下一步,浏览,找到goagent/local下面的CA.srt导入。重启浏览器。
9.
上传goagent服务端
打开终端,使用一下命令进入 goagent/server文件夹
然后输入一下命令上传服务端 python uploader.zip,上传完毕就OK了
10.终端进入 goagent/local
python proxy.py
注意:
此时开始折磨时刻,第9步骤上传报错,对于自带的那个uploader.zip无法上传,总是会显示
urllib2.URLError: <urlopen error [Errno 32] Broken pipe>
原因是因为上传的时候被墙了,解决办法是:
linux下载好appengine后,(download Google App Engine SDK for Python https://code.google.com/appengine/downloads.html) 然后解压unzip.
为了帮助还无法FQ的朋友,贴出直接下载地址 for python
http://googleappengine.googlecode.com/files/google_appengine_1.6.6.zip
1.进入goagent/server/python/app.yaml 修改id为我刚刚appid
2.用appengine上传:
python ${google_appengine}/appcfg.py update ${goagent}/server/python/
I. 这个时候开始崩溃,第一个问题
xxxx
xxxxx
xxxxxxx
ImportError: No module named yaml
原因,python缺少解析yaml的包,yaml是种类似json的数据格式文件,需要安装pyyaml,但是此时 apt-get install pyyaml完全没反映,或者 apt-get install python-yaml 都没用,因为在本机的源当中,没有该包
此时开始手动安装. 此时需要使用python的easy_install 来安装,所以先要安装easy_install,进入
II. 第二个问题
继续,python ${google_appengine}/appcfg.py update ${goagent}/server/python/
出现报错
xxx
xxx
xxxxxx
No module named ipaddr
此时同上,使用easy_install ipaddr 解决
III. 第三个问题
继续,python ${google_appengine}/appcfg.py update ${goagent}/server/python/
No module named fancy_urllib
此时想当然的
easy_install
fancy_urllib ,但是不行,说不认识fancy_urllib,崩溃ing,因为这个东西名字不叫fancy_urllib,怎么办,见最后终极方法解决
IV. 第四个问题
继续,python ${google_appengine}/appcfg.py update ${goagent}/server/python/
报错:
xxxx
xxxx
No module named webob
使用 easy_install webob 解决
最后,
python ${google_appengine}/appcfg.py update ${goagent}/server/python/ 出现上传成功信息
最后上传成功信息:
xuliang@u32:~/下载$ python google_appengine/appcfg.py update goagent/server/python/
......
Application:xyz-appid; version: 1
Host: appengine.google.com
Starting update of app: xyz-
appid, version: 1
Getting current resource limits.
Scanning files on local disk.
Cloning 9 application files.
Uploading 1 files and blobs.
Uploaded 1 files and blobs
Compilation starting.
Compilation completed.
Starting deployment.
Checking if deployment succeeded.
Will check again in 1 seconds.
......
Will check again in 60 seconds.
Checking if deployment succeeded.
Deployment successful.
最后,其实问题I,II,III,IV 都可以从报错中,看出每次都是python在google_appengine的lib中寻找包,找不到,于是需要你在系统的python中,或者在google_appengine当中添加,所以顺着这个思路考虑,找到网址:
对比网址中的源码目录,你会发现,你下载的
google_appengine的lib目录中正好缺少了这个地址中的,ipaddr,webob,fancy_urllib,yaml 这4个包,也就对应前面的4个问题,所以其实不用安装easy_install,只要把这个4个包下载(包括内部)下来,按照相同的目录放入本地的google_appengine/lib中即可。然后执行最后的python上传语句就完美搞定了.^_^