当我运行以下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启动器中工作感到困惑。
答案 0 :(得分:5)
这不是一个错误。 Appengine SDK包括自1.6版以来的webapp2。
默认情况下,您无法从终端导入webapp2,因为默认情况下{PATA}未添加到PATH。
将以下目录添加到Python的PATH中; google_appengine
和C:\Program Files\Google\google_appengine\
,您将获得SDK提供的相同环境。
答案 1 :(得分:2)
我不使用GAE启动器,但我非常确定如果您使用启动器启动应用程序,它会将一些软件包放入您的python路径中,这就是为什么您可以在应用程序中导入它。
我打赌你不能从你的python提示符中输入gooogle.appengine.ext或其他gae libs中的内容,但你可以在你的应用程序中。
答案 2 :(得分:0)
您使用的是python27运行时吗?如果是这样,webapp2在开发服务器上都可用,无论您是否安装了它,以及生产运行时。如果你能够在旧的python 2.5运行时下导入webapp2,我会认为这是一个错误。