最近在研究GAE,根据官方的Python Tutorial尝试了简单的项目配置。尝试Locally run,成功。尝试Deploy,失败
。我执行过的详细步骤如下:
新建文件夹helloworld
在文件夹内新建helloworld.py,内容如下:
import webapp2
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.write('Hello, World!')
app = webapp2.WSGIApplication([
('/', MainPage),
], debug=True)
在文件夹内新建app.yaml文件,内容如下:
version: 1
runtime: python27
api_version: 1
threadsafe: truehandlers:
- url: /.*
script: helloworld.app
在GAE客户端选择加载helloworld文件夹,并且run这个项目,在浏览器里可以看到一行hello world。
这个步骤我没问题。
在GAE console里新建一个项目。将项目ID加入app.yaml文件的首行。
在GAE客户端选择deploy,将项目部进行部署。
我就是失败在这一步,部署失败。log文件显示内容如下:
*** Running appcfg.py with the following flags:
--oauth2_credential_file=~/.appcfg_oauth2_tokens updateNo previously stored oauth2 token found.
A browser will be opened to ask for user permission.07:34 AM Application: my-first-app-967; version: 1
07:34 AM Host: appengine.google.com
07:34 AM
Starting update of app: my-first-app-967, version: 1
07:34 AM Getting current resource limits.
使用命令行进行部署
appcfg.py update my_project_folder
失败。命令行提示同样的错误。
重启电脑,重装GAE客户端
失败。仍然是同样的错误。
增加Extra Flag
--noauth_local_webserver
失败。不仅deploy失败,locally run都失败了。
实在是搞不懂了,挫败感。希望大家忙帮。
1
gowithwind 2015-06-06 18:32:54 +08:00
是不是被墙限制了
|
2
musray OP @gowithwind 我也猜过这种可能性。我是用pac代理翻墙的,不知道是不是受影响。用vpn能好点?
|
3
Livid MOD 或者试试把代码复制到国外的 VPS 上,从 VPS 上用命令行部署。
|
4
rwalle 2015-06-06 19:50:17 +08:00
我从你的帖子中看不出来你具体是在Windows,Linux还是Mac上进行的操作,我觉得的确有可能是网络连接的问题,你使用全局vpn连接,或者用其它终端命令连接appspot.com试下
|
5
cnbuff410 2015-06-06 20:39:06 +08:00
可能是你的oauth出问题?
你看看你有没有这个文件 ~/.appcfg_oauth2_tokens https://cloud.google.com/appengine/docs/python/tools/uploadinganapp |
6
musray OP @cnbuff410 我是os x, ~/.appcfg_oauth2_tokens这个文件确实不存在。
根据你给的[网址](https://cloud.google.com/appengine/docs/python/tools/uploadinganapp),和GAE的log,都提到GAE会自动的请求我的google账户认证: >appcfg.py uses your Google account to authenticate. The default authentication scheme is OAuth 2.0, which asks the user to login and authorize appcfg through a browser. 但实际上GAE并没有自动弹出浏览器让我登陆google账号。 另外,我在GAE里也没找到可以手动登陆g账号的地方。还在研究,累死。 |
7
musray OP @rwalle 我用os x10.10;翻墙用tunnelblick,直接用商家提供的vpn配置文件上网。
网站的访问都没问题,但终端里ping appspot.com或者ping google.com,都Request timeout;ping baidu.com是ok的。 |
8
musray OP |
9
cnbuff410 2015-06-07 00:14:13 +08:00
|
11
lilydjwg 2015-06-07 09:55:28 +08:00
@musray PAC 只有浏览器和一些系统集成的代理设置能够使用(需要 JavaScript 解释器的)。命令行下设置 http_proxy 和 https_proxy 环境变量可能有用。如果你的 HTTP 代理支持 HTTP CONNECT proxychains 也可以用。
|
13
KoleHank 2015-06-07 10:55:41 +08:00
@musray http://huangke.info/li-yong-gaeda-jian-kindlede-tui-song-fu-wu-kindleear/
这个是我直接部署GAE的一个记录,看看是否有帮助吧。 之前在本地windows下部署始终失败,与代理有关。这个记录的是在国外vps上面部署的过程。 |
14
KoleHank 2015-06-07 10:58:14 +08:00
@musray 关键的认证那一块,看看是不是缺少了gcloud auth login 步骤,可以加 --no-launch-browser,不让gcloud程序去获取token值,自己手动拷贝url打开后,登录后手动拷贝token值回去
|
15
musray OP @rwalle 买了3个月的Astrill,连接OpenVPN,如愿以偿的deploy成功了。这算是我的第一个网站吗,呵呵。
http://my-first-app-967.appspot.com/ 但Atrill还在摸索,有些问题待解决。 |
16
musray OP @lilydjwg 用pac代理,在命令行尝试export http_proxy和export https_proxy,还是不行。用OpenVPN搞定了。
|
19
musray OP @lilydjwg 选的Astrill, OpenVPN一开始连上过,但后来就一直不行了。又花了几刀,升级成StealthVPN,好用多了。
|
20
luyuhao 2015-10-20 21:49:52 +08:00
我遇到了同样的问题,
Getting current resource limits. 请问下一定要用国外的 VPN 么,我用的是海豚遨游的 chrome 翻墙插件,貌似还是不行,是否有其他的解决方法? |
21
shally1995 2015-12-01 16:56:13 +08:00
l 楼主我遇到和你一样的问题了,初衷也是在 UDACITY 上课,估计我上的和你一样的课,现在面临你之前一样的课,我用的是龙卷风浏览器翻墙软件,你当时怎么解决的呀!!!急求!非常感谢!!!
|
22
linhaoran 2016-02-12 06:51:17 +08:00 via Android
我来给一个相对简单点的解决方案吧。
之前遇到的情况跟你类似,环境是 win10+shadowsocks(自建 vps),也是卡在 Getting current resource limits.这一步。 我的解决方法: 1. 抛弃官方的 sdk ,代码托管到 GitHub 。 2. gcloud console 里,从上方菜单栏进入 shell ,然后从 shell 里 pull 回源码,用 appcfg 部署。 总结:好处是通过浏览器就可以解决上述问题,而且不用购买 VPS ;坏处是 GitHub 上免费的都是 public 库,如果涉及到密码隐私等问题可能有一定的风险。 有 vps 的,可以通过 vps 保存代码,同样通过 gcloud shell 上 pull 然后部署。私密性更好。 |