No module named ‘polls.apps.PollsConfigdjango’; Django project tutorial 2

Posted on

Question :

No module named ‘polls.apps.PollsConfigdjango’; Django project tutorial 2

So, I’ve been following the tutorial steps here https://docs.djangoproject.com/en/1.9/intro/tutorial02/ and I got to the step where I am supposed to run this command:

python manage.py makemigrations polls

When I run it, I get this error:

python manage.py makemigrations polls
Traceback (most recent call last):
  File "<frozen importlib._bootstrap>", line 2218, in_find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/tgumm/pythonenv/tutorial/lib/python3.4/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
utility.execute()
  File "/home/tgumm/pythonenv/tutorial/lib/python3.4/site-packages/django/core/management/__init__.py", line 327, in execute
django.setup()
  File "/home/tgumm/pythonenv/tutorial/lib/python3.4/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/tgumm/pythonenv/tutorial/lib/python3.4/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
  File "/home/tgumm/pythonenv/tutorial/lib/python3.4/site-packages/django/apps/config.py", line 116, in create
mod = import_module(mod_path)
  File "/home/tgumm/pythonenv/tutorial/lib/python3.4/importlib/__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2212, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_an``d_load
  File "<frozen importlib._bootstrap>", line 2221, in _find_and_load_unlocked
ImportError: No module named 'polls.apps.PollsConfigdjango'; 'polls.apps' is not a package

Here are my models:

from django.db import models

# Create your models here.
from django.db import models


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')


class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
Asked By: ShogunT

||

Answer #1:

The first problem is this warning in the traceback:

No module named 'polls.apps.PollsConfigdjango'

That means that you are missing a comma after 'polls.apps.PollsConfig in your INSTALLED_APPS setting. It should be:

INSTALLED_APPS = (
    ...
    'polls.apps.PollsConfig',
    'django....',
    ...
)

The second problem is the warning 'polls.apps' is not a package. That suggests that you have installed Django 1.8, but you are following the Django 1.9 tutorial.

If you are using Django 1.8, then follow the 1.8 tutorial so that you don’t hit problems like this. Adding the polls app to INSTALLED_APPS is covered here in the Django 1.8 tutorial. Note that it doesn’t use PollsConfig.

INSTALLED_APPS = (
    ...
    'polls',
)
Answered By: Alasdair

Answer #2:

ImportError: No module named 'polls.apps.PollsConfigdjango'

You forgot to add ‘,’ in the list

Answered By: CurryChen

Answer #3:

check for comma “,” after ‘polls.apps.PollsConfigdjango’

Answered By: Rahul_cs12

Answer #4:

You just missed a comma after 'polls.apps.PollsConfig'.

Don’t worry, it happens for the best of us!

Answered By: Mohammad Zarei

Answer #5:

Quoted from https://code.djangoproject.com/ticket/27139

Description

In tutorial 02, Writing your first Django app, part 2, typing in

INSTALLED_APPS = [
    'polls.apps.PollsConfig',
   ....

will cause an ImportError: No module named ‘polls.apps.PollsConfig’; ‘polls.apps’ is not a package

This is resolved by instead putting

INSTALLED_APPS = [
    'polls',
   ....
Answered By: Adam Heaton

Answer #6:

I was getting a similar error: ImportError: No module named ‘polls’

The cause was that I stored my apps inside the “apps” directory.
The solution is to change the code inside apps.py

from:

class PollsConfig(AppConfig):
    name = 'polls'

to (“apps” is the name of my django apps directory):

class PollsConfig(AppConfig):
    name = 'apps.polls'
Answered By: iDevFS

Answer #7:

Anyone who is getting
ModuleNotFoundError: No module named ‘pollsdjango’

And INSTALLED_APPS :

INSTALLED_APPS = [
    'polls.apps.PollsConfig'
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

Solution:

You forgot to add comma(,) at the end of line ‘polls.apps.PollsConfig’

INSTALLED_APPS = [
    'polls.apps.PollsConfig', <----this comma
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

Answer #8:

If you come from Django Tut here’s the problem You just missed a comma after ‘polls.apps.PollsConfig’. so it should be

INSTALLED_APPS = [
    'polls.apps.PollsConfig',
    'django.contrib.admin',
    ....
]
Answered By: Mohammed Elzanaty

Leave a Reply

Your email address will not be published.