导入webapp2适用于google-app-engine,即使我没有安装webapp2

时间:2012-03-01 01:12:47

标签: python google-app-engine import

当我运行以下hellow world程序(使用GAE Launcher)时,它可以工作:

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 Launcher使用与我在终端中使用的相同的python版本,我对导入必须如何在GAE启动器中工作感到困惑。

3 个答案:

答案 0 :(得分:5)

这不是一个错误。 Appengine SDK包括自1.6版以来的webapp2。

默认情况下,您无法从终端导入webapp2,因为默认情况下{PATA}未添加到PATH。

将以下目录添加到Python的PATH中; google_appengineC:\Program Files\Google\google_appengine\,您将获得SDK提供的相同环境。

答案 1 :(得分:2)

我不使用GAE启动器,但我非常确定如果您使用启动器启动应用程序,它会将一些软件包放入您的python路径中,这就是为什么您可以在应用程序中导入它。
我打赌你不能从你的python提示符中输入gooogle.appengine.ext或其他gae libs中的内容,但你可以在你的应用程序中。

答案 2 :(得分:0)

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