SyntaxError: Generator expression must be parenthesized

Question:

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

error screenshot

Asked By: sagar

||

Answers:

TL; DR: Upgrade Django to version 1.11.17+ or 2.0+


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 and cherry-picked later into Django 1.11.17.

Note: Python 3.7 is officially supported by Django 1.11.17 and above, including any 2.x branch.

Answered By: Antwane

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
Answered By: Tess

Generator expression must be parenthesized

> Update Django version to 1.11.17

pip install django==1.11.17

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())
Answered By: CAP.tech

This is due to the version incompatibility.Just we need to upgrade the Django version to 2.1.
Run the command in cmd:Pip install django==2.1. this will resolve the issue

Answered By: Saroj Kumar
  1. Install this version: pip install django==1.11.17
  2. Run cmd.
  3. go to your project folder.
  4. python manage.py runserver
  5. it will give a URL for server and you are good to go.
Answered By: amit Kumar

I just faced an Error like this. I was using Django-1.11.10. I deleted it and installed Django 2.0

Problem is solved.

But if you are using ForeignKey in you model.py files it must be problem again. You should update your coding to 2.0 versiong insted of older versiyon.

Example:

django older version

user = models.ForeignKey('auth.User', related_name='posts')

django 2.0

user = models.ForeignKey('auth.User', related_name='posts', on_delete=models.CASCADE,)
Answered By: Ahmet Erturk

I had the same issue and I realized it is due to the compatibility of the Django version I was working with. So I had to state the Python version explicitly like this: >python3.6 manage.py runserver

Answered By: Erick Kiminza
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.