python Django 报错 SyntaxError: Generator expression must be parenthesized 解决方法

Django 报错 SyntaxError: Generator expression must be parenthesized

Traceback (most recent call last):
  File "manage.py", line 22, in 
    execute_from_command_line(sys.argv)
  File "D:\lijingwen\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "D:\lijingwen\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 338, in execute
    django.setup()
  File "D:\lijingwen\Python\Python37\lib\site-packages\django\__init__.py", line 27, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "D:\lijingwen\Python\Python37\lib\site-packages\django\apps\registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "D:\lijingwen\Python\Python37\lib\site-packages\django\apps\config.py", line 94, in create
    module = import_module(entry)
  File "D:\lijingwen\Python\Python37\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "", line 1006, in _gcd_import
  File "", line 983, in _find_and_load
  File "", line 967, in _find_and_load_unlocked
  File "", line 677, in _load_unlocked
  File "", line 728, in exec_module
  File "", line 219, in _call_with_frames_removed
  File "D:\lijingwen\Python\Python37\lib\site-packages\django\contrib\admin\__init__.py", line 4, in 
    from django.contrib.admin.filters import (
  File "D:\lijingwen\Python\Python37\lib\site-packages\django\contrib\admin\filters.py", line 10, in 
    from django.contrib.admin.options import IncorrectLookupParameters
  File "D:\lijingwen\Python\Python37\lib\site-packages\django\contrib\admin\options.py", line 12, in 
    from django.contrib.admin import helpers, widgets
  File "D:\lijingwen\Python\Python37\lib\site-packages\django\contrib\admin\widgets.py", line 152
    '%s=%s' % (k, v) for k, v in params.items(),
    ^
SyntaxError: Generator expression must be parenthesized


原因:

可能是因为django 1.11版本和python3.7版本不兼容,后续几个版本好像修改了此问题

解决方法:

File "D:\lijingwen\Python\Python37\lib\site-packages\django\contrib\admin\widgets.py", line 152
    '%s=%s' % (k, v) for k, v in params.items(),

他说的是这个widgets.py文件错了,只需要把上面.items(),这个后面的逗号去掉就可以了,要不就是升级到 django 2.0及以上版本

参考链接:

https://www.cnblogs.com/yanlin-10/p/9714793.html
https://www.cnblogs.com/linga/p/9705893.html

你可能感兴趣的:(Python)