Linux 安装goagent官网教程 : https://code.google.com/p/goagent/参考: http://www.xzcblog.com/?post12
Linux 安装goagent
官网教程 : https://code.google.com/p/goagent/参考: http://www.xzcblog.com/?post=125
记录心酸的goagent过程,耗费时间1天,原因还是因为对python的不熟悉,每次都报缺少包错误,然后各种找不到,由于goagent是屏蔽关键字,so每次搜索问题google 各种打不开,这样也更加坚定了今天不睡觉也要把goagent搞定的决心
普通流程:1.进入https://appengine.google.com/,创建一个自己的application,然后假设申请到的appid是 ooxx,注意需要验证码,电话号码 86xxxxxxxxxx2.下载 goagenthttps://code.google.com/p/goagent/ 如果打不开,直接使用:goagent 1.8.11 稳定版下载 http://goo.gl/pTt0W3.进入${goagent}/local修改 proxy.ini ,把里面的appid修改成你的appid
4.chrome请安装SwitchySharp插件在google应用商店搜索,然后直接安装5.下载 GFWlist。地址:http://switchysharp.googlecode.com/files/X_GFWList.bak6.打开 SwichySharp 设置–导入/导出–从文件恢复,选择刚刚下载的GFWlist.bak7.选择情景模式,情景模式名称自己随便填。下面手动配置–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.
为了帮助还无法翻墙的朋友,贴出直接下载地址 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. 这个时候开始崩溃,第一个问题xxxxxxxxxxxxxxxxImportError: No module named yaml原因,python缺少解析yaml的包,yaml是种类似json的数据格式文件,需要安装pyyaml,但是此时 apt-get install pyyaml完全没反映,或者 apt-get install python-yaml 都没用,因为在本机的源当中,没有该包
此时开始手动安装. 此时需要使用python的easy_install 来安装,所以先要安装easy_install,进入http://pypi.python.org/pypi/setuptools 下载setuptools来进行easy_install,注意,egg文件要对应本机python版本,本机是2.7的,所以选择setuptools-0.6c11-py2.7.egg 文件,使用sh执行安装,然后可以使用easy_instal来安装pyyaml,命令easy_install pyyaml
II. 第二个问题继续,python ${google_appengine}/appcfg.py update ${goagent}/server/python/出现报错xxxxxxxxxxxxNo module named ipaddr此时同上,使用easy_install ipaddr 解决
III. 第三个问题继续,python ${google_appengine}/appcfg.py update ${goagent}/server/python/出现报错xxxxxxxxxxxxNo module named fancy_urllib此时想当然的 easy_install fancy_urllib ,但是不行,说不认识fancy_urllib,崩溃ing,因为这个东西名字不叫fancy_urllib,怎么办,见最后终极方法解决
IV. 第四个问题继续,python ${google_appengine}/appcfg.py update ${goagent}/server/python/报错:xxxxxxxxNo 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: 1Host: appengine.google.com
Starting update of app: xyz-appid, version: 1Getting current resource limits.Email:xyz@gmail.comPassword for xyz@gmail.com: Scanning files on local disk.Cloning 9 application files.Uploading 1 files and blobs.Uploaded 1 files and blobsCompilation 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当中添加,所以顺着这个思路考虑,找到网址:http://mjoko1985.sakura.ne.jp/python/module/google_appengine/lib/
对比网址中的源码目录,你会发现,你下载的google_appengine的lib目录中正好缺少了这个地址中的,ipaddr,webob,fancy_urllib,yaml 这4个包,也就对应前面的4个问题,所以其实不用安装easy_install,只要把这个4个包下载(包括内部)下来,按照相同的目录放入本地的google_appengine/lib中即可。然后执行最后的python上传语句就完美搞定了.^_^