这里有很多类似的问题,但它们似乎都是针对旧版本的,或者与错字有关。Django 1.9教程第2部分:运行python manage.py makemigrations polls时没有名为'polls.apps'的模块
在part 2 of the Django 1.9 tutorial,我停留在对投票程序的初始迁移:
python manage.py makemigrations polls
运行此,我得到的错误:`导入错误:没有模块名为“polls.apps”
我使用Python 3.5.1
和Django 1.9.4
摘自mysite/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',
]
...
文件夹结构:
.
├── db.sqlite3
├── manage.py
├── mysite
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── __pycache__
│ ├── settings.py
│ ├── settings.pyc
│ ├── urls.py
│ └── wsgi.py
└── polls
├── __init__.py
├── __pycache__
├── admin.py
├── models.py
├── tests.py
├── urls.py
└── views.py
4 directories, 21 files
你是对的,我不知道为什么那个文件不存在,但是擦除'polls'文件夹并重新运行'python manage.py startapp polls'解决了这个问题。 **编辑**所有提到都是正确的 - 发生了什么是,我在另一个终端选项卡中运行的命令不是在正确的virtualenv(在Python 2上,可能是Django的旧版本),令人惊讶的是,它运行无误。 – waffl
也许你以前在运行'startapp'时使用了不同版本的Django。当你运行'python manage.py startapp'时,Django 1.8和更早的版本不会创建'apps.py'。 – Alasdair
@Alasdair但在这种情况下,我怀疑应该有'migrations'包创建,对吧?谢谢。 – alecxe