语法错误:字典中出现无效语法

3
Traceback (most recent call last):
  File "./openerp-server", line 2, in <module>
    import openerp
  File "/home/tiny/Desktop/openerp/server/trunk/openerp/__init__.py", line 70, in <module>
    import cli
  File "/home/tiny/Desktop/openerp/server/trunk/openerp/cli/__init__.py", line 6, in <module>
    from openerp.modules import module
  File "/home/tiny/Desktop/openerp/server/trunk/openerp/modules/__init__.py", line 27, in <module>
    from . import db, graph, loading, migration, module, registry
  File "/home/tiny/Desktop/openerp/server/trunk/openerp/modules/graph.py", line 32, in <module>
    import openerp.osv as osv
  File "/home/tiny/Desktop/openerp/server/trunk/openerp/osv/__init__.py", line 22, in <module>
    import osv
  File "/home/tiny/Desktop/openerp/server/trunk/openerp/osv/osv.py", line 22, in <module>
    from openerp.osv.orm import except_orm, Model, TransientModel, AbstractModel
  File "/home/tiny/Desktop/openerp/server/trunk/openerp/osv/orm.py", line 2377
    groupby_dict = {gb['groupby']: gb for gb in annotated_groupbys}
                                        ^
SyntaxError: invalid syntax

1
字典推导式在Python 2.6中无法工作。 - Ashwini Chaudhary
似乎OpenERP主干需要Python 2.7或更新版本。 - Martijn Pieters
2个回答

1

在2.7版本中,字典推导 被加入了Python语言。

因此你需要升级到Python 2.7。如果你被困在2.6版本,你可以使用

groupby_dict = dict((gb['groupby'], gb) for gb in annotated_groupbys)

1
你需要使用 dict 创建一个字典。
dict((gb['groupby'], gb) for gb in annotated_groupbys)

3
实际上,这是一个生成器表达式而不是列表推导式。 - Tim Pietzcker
删除了列表推导式 ;) - Nilesh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接