问题
I just installed django and after installing that I created a django project and was trying to run django server by command:
python manage.py runserver
After that I'am getting error as: SyntaxError: Generator expression must be parenthesized
回答1:
TL; DR Update Django to the latest revision.
This error is a known incompatibility related to Python issue #32012. Projects based on Django 1.11.16 and below will raise this exception when started with Python 3.7. A patch for this issue has been merged into Django 2.0 and 2.1 branches as well as Django 1.11.17.
Note: Python 3.7 is officially supported by Django 1.11.17 and above, including any 2.x branch.
回答2:
Generator expression must be parenthesized
> Update Django version to 1.11.17
pip install django==1.11.17
回答3:
Had same issue. This is how I changed to django version 2.0 and used python3
- $pip3 install django==2.0
- $python3 manage.py runserver
回答4:
Just open file:
venv/lib/python3.7/site-packages/django/contrib/admin/widgets.py
and replace the lines
related_url += '?' + '&'.join(
'%s=%s' % (k, v) for k, v in params.items(),)
with
related_url += '?' + '&'.join('%s=%s' % (k, v) for k, v in params.items())
回答5:
Just open file venv/lib/python3.7/site-packages/django/contrib/admin/widgets.py and replace the lines
related_url += '?' + '&'.join(
'%s=%s' % (k, v) for k, v in params.items(),
)
with
related_url += '?' + '&'.join('%s=%s' % (k, v) for k, v in params.items())
来源:https://stackoverflow.com/questions/51265858/syntaxerror-generator-expression-must-be-parenthesized