Google App Engine:没有名为 setup 的模块
Google App Engine: No module named setup
我是 GAE 的新手,在学习课程时,我需要将它安装到我的系统上。我按照 GAE 网站上的说明进行操作,并在我的 Ubuntu 17.04 系统上成功安装。现在,我创建了一个名为 first-app
的文件夹,其中包含文件 first-app.py
和 app.yaml
。
每当我尝试 运行 dev_appserver.py first-app
时,我都会收到以下错误:
Traceback (most recent call last):
File "/usr/bin/dev_appserver.py", line 11, in <module>
import bootstrapping.bootstrapping as bootstrapping
File "/usr/lib/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 9, in <module>
import setup
ModuleNotFoundError: No module named 'setup'
我同时安装了 python 2.7 和 python 3.5,默认的 python 是 2.7.13。
以下是first-app.py
的内容:
import webapp2
class Mainpage(webapp2.RequestHandler):
def get(self):
self.response.write("Hello World")
app=webapp2.WSGIApplication([('/', Mainpage), ], debug=True)
app.yaml
文件的内容是:
runtime: python
api_version: 1
threadsafe: true
handlers:
- url: /
script: first-app.app
- url: /index\.html
script: home.app
我应该怎么做才能让它发挥作用?
您似乎以某种方式结束了 运行 它 python 3,请参阅:
- ImportError: No module named 'setup'
除了尝试回答这些问题之外,我认为您还可以尝试明确选择 python 版本,如下所示:
python2.7 /usr/bin/dev_appserver.py [first-app ...]
一个更 "permanent" 的替代方案不需要您对每次调用都执行上述操作,即修改(作为 root)/usr/bin/dev_appserver.py
并将顶部的 #!/usr/bin/env python
替换为#!/usr/bin/env python2.7
。通过此更改,只要您的系统上安装了有效的 2.7 python,它就应该可以正常工作,即使它不是默认的。
它可能看起来很老套,但考虑到 dev_appserver.py
只能与标准的 env GAE 应用程序一起使用,它只支持 python 2.7,恕我直言,这很自然 - Google 本来可以在这种特殊情况下完成了。但由于他们没有,所以在需要时 re-member 到 re-do 它可能会被 SDK 更新删除。
我是 GAE 的新手,在学习课程时,我需要将它安装到我的系统上。我按照 GAE 网站上的说明进行操作,并在我的 Ubuntu 17.04 系统上成功安装。现在,我创建了一个名为 first-app
的文件夹,其中包含文件 first-app.py
和 app.yaml
。
每当我尝试 运行 dev_appserver.py first-app
时,我都会收到以下错误:
Traceback (most recent call last):
File "/usr/bin/dev_appserver.py", line 11, in <module>
import bootstrapping.bootstrapping as bootstrapping
File "/usr/lib/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 9, in <module>
import setup
ModuleNotFoundError: No module named 'setup'
我同时安装了 python 2.7 和 python 3.5,默认的 python 是 2.7.13。
以下是first-app.py
的内容:
import webapp2
class Mainpage(webapp2.RequestHandler):
def get(self):
self.response.write("Hello World")
app=webapp2.WSGIApplication([('/', Mainpage), ], debug=True)
app.yaml
文件的内容是:
runtime: python
api_version: 1
threadsafe: true
handlers:
- url: /
script: first-app.app
- url: /index\.html
script: home.app
我应该怎么做才能让它发挥作用?
您似乎以某种方式结束了 运行 它 python 3,请参阅:
- ImportError: No module named 'setup'
除了尝试回答这些问题之外,我认为您还可以尝试明确选择 python 版本,如下所示:
python2.7 /usr/bin/dev_appserver.py [first-app ...]
一个更 "permanent" 的替代方案不需要您对每次调用都执行上述操作,即修改(作为 root)/usr/bin/dev_appserver.py
并将顶部的 #!/usr/bin/env python
替换为#!/usr/bin/env python2.7
。通过此更改,只要您的系统上安装了有效的 2.7 python,它就应该可以正常工作,即使它不是默认的。
它可能看起来很老套,但考虑到 dev_appserver.py
只能与标准的 env GAE 应用程序一起使用,它只支持 python 2.7,恕我直言,这很自然 - Google 本来可以在这种特殊情况下完成了。但由于他们没有,所以在需要时 re-member 到 re-do 它可能会被 SDK 更新删除。