Django 高级教程:成功安装自己的包后尝试 运行 服务器或迁移应用程序时出错

Django Advanced Tutorial: Error when trying run server or migrate app after successfully installing own package

我正在学习高级 Django 教程,并成功地将我的投票应用程序打包到 mysite 目录之外的另一个目录中。我 运行 pip install --user django-polls/dist/django-polls-0.1.tar.gz 在我的 django-polls 应用程序所在的目录中并设法成功安装它。但是,当我尝试在 mysite 目录中 运行 python manage.py runserver 时,我在终端上收到以下消息:

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/*USER*/django/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/Users/*USER*/django/django/core/management/__init__.py", line 357, in execute
    django.setup()
  File "/Users/*USER*/django/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/*USER*/django/django/apps/registry.py", line 89, in populate
    app_config = AppConfig.create(entry)
  File "/Users/*USER*/django/django/apps/config.py", line 116, in create
    mod = import_module(mod_path)
  File "/Users/*USER*/anaconda3/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'polls.apps'

我尝试了 运行ning python manage.py migrate 并得到了相同的消息。有人可以解释这里发生了什么吗?我正在 运行安装最新版本的 Django。

更新:这些是我 settings.py

上安装的应用程序
INSTALLED_APPS = [
    'polls.apps.PollsConfig',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

我尝试使用

INSTALLED_APPS = [
        'polls', ... 

但这只会给出另一个错误,No module named 'polls.urls'

编辑 2:按照下面的要求是我的目录架构,我将 django-pollsmysite 文件夹移动到父目录 django-tutorial 中。然而,当 运行 命令 python manage.py runserver 它回复: /usr/bin/python: No module named django 然后我使用 pip 重新安装了 Django 并重新安装了 django-polls 模块。这似乎解决了这个问题。我现在可以 运行 python manage.py runserver 命令并像以前一样获取我的项目 运行ning。我不知道 Django 已从 put 设法取回的路径中删除 运行ning。谢谢大家的帮助!

django-tutorial
├── django-polls
│   ├── LICENSE
│   ├── MANIFEST.in
│   ├── README.rst
│   ├── dist
│   │   └── django-polls-0.1.tar.gz
│   ├── django_polls.egg-info
│   │   ├── PKG-INFO
│   │   ├── SOURCES.txt
│   │   ├── dependency_links.txt
│   │   └── top_level.txt
│   ├── docs
│   ├── polls
│   │   ├── __init__.py
│   │   ├── __pycache__
│   │   │   ├── __init__.cpython-36.pyc
│   │   │   ├── admin.cpython-36.pyc
│   │   │   ├── apps.cpython-36.pyc
│   │   │   ├── models.cpython-36.pyc
│   │   │   ├── tests.cpython-36.pyc
│   │   │   ├── urls.cpython-36.pyc
│   │   │   └── views.cpython-36.pyc
│   │   ├── admin.py
│   │   ├── apps.py
│   │   ├── migrations
│   │   │   ├── 0001_initial.py
│   │   │   ├── __init__.py
│   │   │   └── __pycache__
│   │   │       ├── 0001_initial.cpython-36.pyc
│   │   │       └── __init__.cpython-36.pyc
│   │   ├── models.py
│   │   ├── static
│   │   │   └── polls
│   │   │       ├── images
│   │   │       │   └── background.gif
│   │   │       └── style.css
│   │   ├── templates
│   │   │   └── polls
│   │   │       ├── detail.html
│   │   │       ├── index.html
│   │   │       └── results.html
│   │   ├── tests.py
│   │   ├── urls.py
│   │   └── views.py
│   └── setup.py
└── mysite
    ├── db.sqlite3
    ├── django-polls
    │   └── setup.py
    ├── manage.py
    ├── mysite
    │   ├── __init__.py
    │   ├── __pycache__
    │   │   ├── __init__.cpython-36.pyc
    │   │   ├── __init__.cpython-37.pyc
    │   │   ├── settings.cpython-36.pyc
    │   │   ├── settings.cpython-37.pyc
    │   │   ├── urls.cpython-36.pyc
    │   │   ├── urls.cpython-37.pyc
    │   │   ├── wsgi.cpython-36.pyc
    │   │   └── wsgi.cpython-37.pyc
    │   ├── settings.py
    │   ├── urls.py
    │   └── wsgi.py
    ├── polls
    │   └── views.py
    └── templates
        └── admin
            └── base_site.html

你的 settings.py 长什么样?您是否在 INSTALLED_APPS 中添加了民意调查?

INSTALLED_APPS = [
'polls',
....
]