Google App Engine 无法实现官方 python 教程 helloworld 的 deploy,希望大家帮忙

2015-06-06 17:46:35 +08:00
 musray

最近在研究GAE,根据官方的Python Tutorial尝试了简单的项目配置。尝试Locally run,成功。尝试Deploy,失败。我执行过的详细步骤如下:

  1. 新建文件夹helloworld

  2. 在文件夹内新建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)
    
  3. 在文件夹内新建app.yaml文件,内容如下:

    version: 1
    runtime: python27
    api_version: 1
    threadsafe: true

    handlers:
    - url: /.*
    script: helloworld.app

  4. 在GAE客户端选择加载helloworld文件夹,并且run这个项目,在浏览器里可以看到一行hello world。
    这个步骤我没问题。

  5. 在GAE console里新建一个项目。将项目ID加入app.yaml文件的首行。

  6. 在GAE客户端选择deploy,将项目部进行部署。
    我就是失败在这一步,部署失败。log文件显示内容如下:

    *** Running appcfg.py with the following flags:
    --oauth2_credential_file=~/.appcfg_oauth2_tokens update

    No 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.

目前进行过的尝试:

  1. 使用命令行进行部署
    appcfg.py update my_project_folder
    失败。命令行提示同样的错误。

  2. 重启电脑,重装GAE客户端
    失败。仍然是同样的错误。

  3. 增加Extra Flag
    --noauth_local_webserver
    失败。不仅deploy失败,locally run都失败了。

实在是搞不懂了,挫败感。希望大家忙帮。

9575 次点击
所在节点    Google App Engine
23 条回复
gowithwind
2015-06-06 18:32:54 +08:00
是不是被墙限制了
musray
2015-06-06 18:44:33 +08:00
@gowithwind 我也猜过这种可能性。我是用pac代理翻墙的,不知道是不是受影响。用vpn能好点?
Livid
2015-06-06 19:27:52 +08:00
或者试试把代码复制到国外的 VPS 上,从 VPS 上用命令行部署。
rwalle
2015-06-06 19:50:17 +08:00
我从你的帖子中看不出来你具体是在Windows,Linux还是Mac上进行的操作,我觉得的确有可能是网络连接的问题,你使用全局vpn连接,或者用其它终端命令连接appspot.com试下
cnbuff410
2015-06-06 20:39:06 +08:00
可能是你的oauth出问题?

你看看你有没有这个文件 ~/.appcfg_oauth2_tokens

https://cloud.google.com/appengine/docs/python/tools/uploadinganapp
musray
2015-06-06 22:51:34 +08:00
@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账号的地方。还在研究,累死。
musray
2015-06-06 23:04:34 +08:00
@rwalle 我用os x10.10;翻墙用tunnelblick,直接用商家提供的vpn配置文件上网。
网站的访问都没问题,但终端里ping appspot.com或者ping google.com,都Request timeout;ping baidu.com是ok的。
musray
2015-06-06 23:13:08 +08:00
@Livid 看来可以考虑买一个vps了,翻墙也能用。
其实我就是在udacity上报了个课,课上要求用GAE部署自己的网站。没想到牵出这么多问题来。逐个击破吧。
感谢所有人的答复。
cnbuff410
2015-06-07 00:14:13 +08:00
@musray In the case where you do not have access to the browser on the machine that runs appcfg.py, specify the --noauth2_local_webserver option and follow the instructions to authenticate.
isweal
2015-06-07 08:54:40 +08:00
lilydjwg
2015-06-07 09:55:28 +08:00
@musray PAC 只有浏览器和一些系统集成的代理设置能够使用(需要 JavaScript 解释器的)。命令行下设置 http_proxy 和 https_proxy 环境变量可能有用。如果你的 HTTP 代理支持 HTTP CONNECT proxychains 也可以用。
rwalle
2015-06-07 10:50:34 +08:00
@musray 那你这很可能是网络连接的问题了,最好开全局vpn搞
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上面部署的过程。
KoleHank
2015-06-07 10:58:14 +08:00
@musray 关键的认证那一块,看看是不是缺少了gcloud auth login 步骤,可以加 --no-launch-browser,不让gcloud程序去获取token值,自己手动拷贝url打开后,登录后手动拷贝token值回去
musray
2015-06-07 17:07:00 +08:00
@rwalle 买了3个月的Astrill,连接OpenVPN,如愿以偿的deploy成功了。这算是我的第一个网站吗,呵呵。
http://my-first-app-967.appspot.com/

但Atrill还在摸索,有些问题待解决。
musray
2015-06-07 17:08:39 +08:00
@lilydjwg 用pac代理,在命令行尝试export http_proxy和export https_proxy,还是不行。用OpenVPN搞定了。
musray
2015-06-07 17:10:39 +08:00
@KoleHank 多谢,学习一下。
lilydjwg
2015-06-07 17:43:38 +08:00
@musray 大概是 gae 那东西不支持从环境变量读取代理。OpenVPN 现在还有能用的呀?
musray
2015-06-07 21:26:05 +08:00
@lilydjwg 选的Astrill, OpenVPN一开始连上过,但后来就一直不行了。又花了几刀,升级成StealthVPN,好用多了。
luyuhao
2015-10-20 21:49:52 +08:00
我遇到了同样的问题,
Getting current resource limits.
请问下一定要用国外的 VPN 么,我用的是海豚遨游的 chrome 翻墙插件,貌似还是不行,是否有其他的解决方法?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/196550

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX