2010-01-16 13 views
6

Una delle grandi caratteristiche di Django è che è possibile aprire una configurazione dell'interprete python da utilizzare con il progetto. Questo può essere usato per analizzare oggetti in un database e consente di eseguire qualsiasi comando python sul progetto. Lo trovo essenziale per lo sviluppo di Django. Viene invocato nella directory di progetto utilizzando questo comando:Python/Django shell non verrà avviato

$ python manage.py shell 

ho appena iniziato lo sviluppo di un nuovo progetto e per qualche motivo la shell non funziona. Ho cercato online l'errore e non ho trovato nulla. Apprezzerei molto qualsiasi aiuto su questo errore:


Traceback (most recent call last): 
    File "manage.py", line 11, in 
    execute_manager(settings) 
    File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 362, in execute_manager 
    utility.execute() 
    File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 303, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 195, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 222, in execute 
    output = self.handle(*args, **options) 
    File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 351, in handle 
    return self.handle_noargs(**options) 
    File "/Library/Python/2.6/site-packages/django/core/management/commands/shell.py", line 29, in handle_noargs 
    shell = IPython.Shell.IPShell(argv=[]) 
AttributeError: 'module' object has no attribute 'Shell' 

Grazie in anticipo per il vostro aiuto!

+0

Avete ipython installato? È nel tuo 'PYTHONPATH'? – notnoop

+0

Oh, è carino, è integrato django con ipython? – shylent

+1

@shylent, sì è, nel senso che userà IPython come shell se è installato. –

risposta

12

Sembra che IPython sia installato in modo errato in qualche modo. Prova ad avviare la shell con:

./manage.py shell --plain 

per avviare la shell standard di Python, anziché IPython. Se funziona, prova a rimuovere completamente IPython e a reinstallarlo.

+0

Grazie mille! Questo funziona perfettamente. – danpalmer

+0

Fantastico! Un gruppo di ringraziamenti –

6

IPython 0.11 ha un'API diversa, per cui esiste una correzione nelle ultime versioni di Django.

Per le versioni precedenti Django, è possibile utilizzare IPython 0.10, che funziona:

pip install ipython==0.10 
+1

down vote \t Che ha funzionato. Tuttavia, quando ho avviato la shell, ho ottenuto IOError: File'ipythonrc 'non trovato nelle directory attuali o fornite :. Probabilmente ha scritto la versione di ipython 11 su quella esistente e 10 non è più in grado di leggere !? in esecuzione: rm -rf ~/.ipython/ Sembrava aggiustato. – brianray

+2

@brianray: è possibile, posso confermare che 'rm -Rf ~/.ipython /' è una buona soluzione qui. – vdboor

+0

Grazie! Stavo cercando una versione di Python che funzionasse con django 1.0.4 – Munhitsu

Problemi correlati