【问题标题】:No module named 'polls.apps.PollsConfigdjango'; Django project tutorial 2没有名为“polls.apps.PollsConfigdjango”的模块; Django项目教程2
【发布时间】:2021-01-02 10:00:27
【问题描述】:

所以,我一直在遵循https://docs.djangoproject.com/en/1.9/intro/tutorial02/ 此处的教程步骤,然后我到了应该运行此命令的步骤:

python manage.py makemigrations polls

当我运行它时,我得到了这个错误:

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

这是我的模型:

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)

【问题讨论】:

    标签: python django


    【解决方案1】:

    任何获得 ModuleNotFoundError:没有名为“pollsdjango”的模块

    还有 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',
    ]
    

    解决方案:

    您忘记在“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',
    ]
    

    【讨论】:

      【解决方案2】:

      如果你来自Django 啧啧,问题出在你刚刚在'polls.apps.PollsConfig'之后漏掉了一个逗号所以应该是

      INSTALLED_APPS = [
          'polls.apps.PollsConfig',
          'django.contrib.admin',
          ....
      ]
      

      【讨论】:

        【解决方案3】:

        如果以上/以下都不能解决您的问题,并且您来到这里时遇到了同样的错误,请确保您的顶级目录中没有 __init__.py。希望这可以帮助那里的人!

        【讨论】:

          【解决方案4】:

          如果我们收到关于 not a package 的错误,而不是大多数时候,我们可能会错过在我们收到此错误的目录中添加 __init__.py 文件。

          【讨论】:

            【解决方案5】:

            您只是在'polls.apps.PollsConfig' 之后漏掉了一个逗号。

            别担心,这会发生在我们最好的人身上!

            【讨论】:

              【解决方案6】:

              第一个问题是回溯中的这个警告:

              No module named 'polls.apps.PollsConfigdjango'
              

              这意味着您在INSTALLED_APPS 设置中的'polls.apps.PollsConfig 后面缺少一个逗号。应该是:

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

              第二个问题是警告'polls.apps' is not a package。这表明您已经安装了 Django 1.8,但您正在遵循 Django 1.9 教程。

              如果您使用的是 Django 1.8,请按照 1.8 教程进行操作,以免遇到此类问题。在 Django 1.8 教程中,将投票应用程序添加到 INSTALLED_APPScovered here。请注意,它不使用PollsConfig

              INSTALLED_APPS = (
                  ...
                  'polls',
              )
              

              【讨论】:

              • 我遇到了几乎完全相同的问题。但是,对我来说,我拼错了我的班级名称。还有ShogunT,如果答案解决了你的问题,你会接受答案吗?
              • 这是该问题的正确答案...我犯了与OP完全相同的错误。我认为我从来没有见过这么多“几乎正确”的其他答案,并混淆了“逗号问题”……此外,您的答案是按时间顺序排列的第一个答案。奇数。
              • 逗号和分号是噩梦。
              【解决方案7】:

              引自https://code.djangoproject.com/ticket/27139

              说明

              在教程 02,编写你的第一个 Django 应用,第 2 部分,输入

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

              将导致 ImportError: No module named 'polls.apps.PollsConfig'; 'polls.apps' 不是一个包

              这可以通过放置来解决

              INSTALLED_APPS = [
                  'polls',
                 ....
              

              【讨论】:

              • 解决了我的问题。但是我的django版本是2.0.4,python版本是3.6.5。根据文档,django从1.9版本开始会生成apps.py ...所以不知道为什么
              【解决方案8】:

              我遇到了类似的错误:ImportError: No module named 'polls'

              原因是我将我的应用程序存储在“apps”目录中。 解决办法是修改apps.py里面的代码

              来自:

              class PollsConfig(AppConfig):
                  name = 'polls'
              

              to(“apps”是我的 django 应用程序目录的名称):

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

              【讨论】:

                【解决方案9】:
                ImportError: No module named 'polls.apps.PollsConfigdjango'
                

                您忘记在列表中添加“,”

                【讨论】:

                  【解决方案10】:

                  在“polls.apps.PollsConfigdjango”之后检查逗号“,”

                  【讨论】:

                  • 太棒了。解决了我的问题!
                  猜你喜欢
                  • 2014-05-19
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2021-09-30
                  • 1970-01-01
                  • 2014-01-30
                  相关资源
                  最近更新 更多