python DjangoエラーSyntaxError:Generator expression must be parenthesized解決方法

3542 ワード

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バージョンとpython 3のためかもしれません.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