Google App Engine 无法实现官方 python 教程 helloworld 的 deploy,希望大家帮忙 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
DAOCLOUD
推荐学习书目
Python Cookbook
Using Google App Engine
推荐下载
Latest Google App Engine SDK
其他兼容技术
AppScale
musray
V2EX    Google App Engine

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

  •  
  •   musray 2015-06-06 17:46:35 +08:00 10280 次点击
    这是一个创建于 3779 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在研究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都失败了。

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

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

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

    https://cloud.google.com/appengine/docs/python/tools/uploadinganapp
    musray
        6
    musray  
    OP
       2015-06-06 22:51:34 +08:00   1
    @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
        7
    musray  
    OP
       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
        8
    musray  
    OP
       2015-06-06 23:13:08 +08:00
    @Livid 看来可以考虑买一个vps了,翻墙也能用。
    其实我就是在udacity上报了个课,课上要求用GAE部署自己的网站。没想到牵出这么多问题来。逐个击破吧。
    感谢所有人的答复。
    cnbuff410
        9
    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
        10
    isweal  
       2015-06-07 08:54:40 +08:00 via iPad
    lilydjwg
        11
    lilydjwg  
       2015-06-07 09:55:28 +08:00
    @musray PAC 只有浏览器和一些系统集成的代理设置能够使用(需要 Javascript 解释器的)。命令行下设置 http_proxy 和 https_proxy 环境变量可能有用。如果你的 HTTP 代理支持 HTTP CONNECT proxychains 也可以用。
    rwalle
        12
    rwalle  
       2015-06-07 10:50:34 +08:00
    @musray 那你这很可能是网络连接的问题了,最好开全局vpn搞
    KoleHank
        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上面部署的过程。
    KoleHank
        14
    KoleHank  
       2015-06-07 10:58:14 +08:00
    @musray 关键的认证那一块,看看是不是缺少了gcloud auth login 步骤,可以加 --no-launch-browser,不让gcloud程序去获取token值,自己手动拷贝url打开后,登录后手动拷贝token值回去
    musray
        15
    musray  
    OP
       2015-06-07 17:07:00 +08:00
    @rwalle 买了3个月的Astrill,连接OpenVPN,如愿以偿的deploy成功了。这算是我的第一个网站吗,呵呵。
    http://my-first-app-967.appspot.com/

    但Atrill还在摸索,有些问题待解决。
    musray
        16
    musray  
    OP
       2015-06-07 17:08:39 +08:00
    @lilydjwg 用pac代理,在命令行尝试export http_proxy和export https_proxy,还是不行。用OpenVPN搞定了。
    musray
        17
    musray  
    OP
       2015-06-07 17:10:39 +08:00
    @KoleHank 多谢,学习一下。
    lilydjwg
        18
    lilydjwg  
       2015-06-07 17:43:38 +08:00
    @musray 大概是 gae 那东西不支持从环境变量读取代理。OpenVPN 现在还有能用的呀?
    musray
        19
    musray  
    OP
       2015-06-07 21:26:05 +08:00
    @lilydjwg 选的Astrill, OpenVPN一开始连上过,但后来就一直不行了。又花了几刀,升级成StealthVPN,好用多了。
    luyuhao
        20
    luyuhao  
       2015-10-20 21:49:52 +08:00
    我遇到了同样的问题,
    Getting current resource limits.
    请问下一定要用国外的 VPN 么,我用的是海豚遨游的 chrome 翻墙插件,貌似还是不行,是否有其他的解决方法?
    shally1995
        21
    shally1995  
       2015-12-01 16:56:13 +08:00
    l 楼主我遇到和你一样的问题了,初衷也是在 UDACITY 上课,估计我上的和你一样的课,现在面临你之前一样的课,我用的是龙卷风浏览器翻墙软件,你当时怎么解决的呀!!!急求!非常感谢!!!
    linhaoran
        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 然后部署。私密性更好。
    life
        23
    life  
       2016-04-28 19:27:26 +08:00
    @musray 同样问题,请问后来是如何解决的?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6088 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 02:30 PVG 10:30 LAX 19:30 JFK 22:30
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86