【问题标题】:webapp2 import SyntaxErrorwebapp2 导入语法错误
【发布时间】:2019-03-02 10:32:05
【问题描述】:

import webapp2 正在抛出异常错误 --> Traceback(最近一次调用最后一次):

文件 “/homefolder/anaconda3/lib/python3.7/site-packages/IPython/core/interactiveshell.py”, 第 3267 行,在 run_code 中 exec(code_obj, self.user_global_ns, self.user_ns)

文件“”,第 5 行,在 导入 webapp2

文件 “//anaconda3/lib/python3.7/site-packages/webapp2.py”,行 571

except Exception, e:
                    ^
SyntaxError: invalid syntax

我找到了一个相关的帖子,但这似乎是一篇没有最近更新的旧帖子。

webapp2 with python3

有人可以建议吗?

【问题讨论】:

    标签: python-3.x webapp2


    【解决方案1】:

    这是完全有效的 python2 语法:

    $ python
    Python 2.7.12 (default, Jul 01 2016, 15:36:53) [GCC] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import os
    >>> try:
    ...  os.listdir('.')
    ... except Exception, e:
    ...  pass
    ... 
    ['2018', '2015', '2017', '2016', '2019']
    

    但是,正如您所观察到的,该语法在 python3 中无效。因此,自从您引用的帖子以来,事情并没有改变,webapp2 仅与 python2 兼容。

    作为一般方法,GAE 团队倾向于完全放弃许多 GAE 特定的库和框架,而不是将它们移植到更新的语言版本(不仅仅是 python!)。相反,他们降低了沙盒限制,允许使用更多的第三方库和框架,请参阅Why is Google App Engine Standard using PHP 5.5?

    【讨论】:

    • 谢谢@Dan Cornilescu。如果我不想将自己限制在 Python 2.7,那么解决方法是什么?
    • 不幸的是,只使用了支持两者的其他框架。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    • 2017-09-16
    • 2017-12-01
    • 1970-01-01
    相关资源
    最近更新 更多