2016-02-18 23 views
11

Così, ho seguito i passi del tutorial qui https://docs.djangoproject.com/en/1.9/intro/tutorial02/ e ho avuto modo il passaggio in cui dovrei eseguire questo comando:Nessun modulo chiamato "polls.apps.PollsConfigdjango"; Django progetto Tutorial 2

python manage.py makemigrations polls 

quando l'eseguo, ottengo questo errore:

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 

Qui sono i miei modelli:

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) 

risposta

45

il primo problema è questo avvertimento nel traceback:

No module named 'polls.apps.PollsConfigdjango' 

Ciò significa che manca una virgola dopo 'polls.apps.PollsConfig nell'impostazione INSTALLED_APPS. Dovrebbe essere:

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

Il secondo problema è l'avvertimento 'polls.apps' is not a package. Questo suggerisce che hai installato Django 1.8, ma stai seguendo il tutorial di Django 1.9.

Se si utilizza Django 1.8, quindi seguire il tutorial 1.8 in modo che non si verifichino problemi come questo. L'aggiunta dell'app sondaggi a INSTALLED_APPS è covered here nell'esercitazione su Django 1.8. Si noti che non utilizza PollsConfig.

INSTALLED_APPS = (
    ... 
    'polls', 
) 
+0

ho avuto quasi lo stesso identico problema. Ma per me avevo scritto male il mio nome di classe. E ShogunT, se la risposta risolve il tuo problema, accetteresti la risposta? – MikeyE

+0

Questa è la risposta giusta per la domanda ... Avevo fatto esattamente lo stesso errore dell'OP. Non penso di aver mai visto così tante risposte "quasi giuste" in arrivo e confondere il "problema con la virgola" ... aggiungere a ciò che la tua è stata la prima risposta in ordine cronologico. Dispari. –

14

assegno di virgola "" dopo 'polls.apps.PollsConfigdjango'

+0

Fantastico. Risolto il problema! – jonnyd42

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

Hai dimenticato di aggiungere '' nella lista

0

stavo ottenendo un errore simile: ImportError: nessun modulo denominato 'polls'

La causa è stata che ho archiviato le mie app all'interno della directory "apps". La soluzione è quella di modificare il codice all'interno apps.py

da:

class PollsConfig(AppConfig): 
    name = 'polls' 

a ("apps" è il nome del mio Django Apps Directory):

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

Citato da https://code.djangoproject.com/ticket/27139

Descrizione

Nel tutorial 02 , Scrivere la vostra prima applicazione Django, parte 2, digitando

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

causerà un ImportError: No module named 'polls.apps.PollsConfig'; 'Polls.apps' non è un pacchetto

Questa è risolto mettendo invece

INSTALLED_APPS = [ 
    'polls', 
    .... 
Problemi correlati