【问题标题】:import webapp2 works on google-app-engine even though I don't have webapp2 installed即使我没有安装 webapp2,import webapp2 也可以在 google-app-engine 上运行
【发布时间】:2012-03-01 01:12:46
【问题描述】:

当我运行以下地狱世界程序(使用 GAE 启动器)时,它可以工作:

import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, webapp World!')

app = webapp2.WSGIApplication([('/', MainPage)],
    debug=True)

但是,如果我去终端,我无法导入 webapp2:

C:\Users\Robert>python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>> import webapp2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named webapp2
>>>

另外,我的 IDE 没有为 webapp2 对象提供自动完成功能。

看到 GAE 启动器使用与我在终端中使用的相同 python 版本,我对导入必须如何在 GAE 启动器中工作感到困惑。

【问题讨论】:

    标签: python google-app-engine import


    【解决方案1】:

    这不是错误。 Appengine SDK 自 1.6 版起包含 webapp2。

    默认情况下,不能从终端导入webapp2,因为google_appengine默认没有添加到PATH中。

    将以下目录添加到 Python 的 PATH; C:\Program Files\Google\google_appengine\C:\Program Files\Google\google_appengine\lib\,您将拥有 SDK 提供的相同环境。

    【讨论】:

    【解决方案2】:

    我不使用 GAE 启动器,但我很确定如果您使用启动器启动应用程序,它会将一些包放入您的 pythonpath,这就是您可以将其导入应用程序的原因。
    我敢打赌,您不能从 gooogle.appengine.ext 或 Python 提示符下的其他 gae 库中导入某些内容,但您可以在您的应用程序中导入。

    【讨论】:

    • 非常感谢。我刚刚注意到这个文件夹 C:\Program Files\Google\google_appengine\lib\webapp2 包含 setup.py 如果我需要它可能会安装它
    【解决方案3】:

    您使用的是 python27 运行时吗?如果是这样,无论您是否安装了 webapp2,开发服务器和生产运行时都可以使用 webapp2。如果您能够在旧的 python 2.5 运行时导入 webapp2,我会认为这是一个错误。

    【讨论】:

    • 这不是错误。检查上面的答案
    猜你喜欢
    • 2012-07-13
    • 2011-10-10
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 2019-12-04
    相关资源
    最近更新 更多