Оболочка Python/Django не запускается

одной из замечательных особенностей Django является то, что вы можете открыть интерпретатор python для использования с вашим проектом. Это можно использовать для анализа объектов в базе данных и позволяет выполнять любые команды python в вашем проекте. Я считаю это необходимым для развития Django. Он вызывается в каталоге проекта с помощью следующей команды:

$ python manage.py shell

Я только начал разрабатывать новый проект, и по какой-то причине оболочка не работает. Я посмотрел онлайн для ошибки и ничего не нашел. Я бы очень признателен за любую помощь по этой ошибке:


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'

заранее спасибо за вашу помощь!

2 ответов


похоже, что IPython установлен неправильно. Попробуйте запустить оболочку с помощью:

./manage.py shell --plain

для запуска стандартной оболочки Python, а не IPython. Если это работает, попробуйте полностью удалить IPython и переустановить его.


IPython 0.11 имеет другой API, для которого существует исправление в последних версиях Django.

для более старых версий Django вы можете использовать IPython 0.10, который работает:

pip install ipython==0.10