导入webapp2在谷歌应用引擎上工作,即使我没有安装webapp2



当我运行以下hellow-world程序(使用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:UsersRobert>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启动器中工作感到困惑。

这不是一个bug。Appengine SDK自1.6版本起就包含了webapp2。

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

将以下目录添加到Python的PATH中;CCD_ 2和CCD_。

我不使用GAE启动器,但我很确定,如果你用启动器启动应用程序,它会将一些包放入你的Python路径中,这就是为什么你可以将其导入应用程序的原因
我敢打赌,你不能从google.appengine.ext或其他来自python提示的gae-lib中导入一些东西,但你可以在你的应用程序中导入。

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

最新更新