IPython не находит класс Shell.IPShell

После установки Django я следил за учебником « Игра с API». Когда я запускаю следующую команду.

python manage.py shell 

Я получил это сообщение об ошибке.

   Файл «/Library/Python/2.6/site-packages/django/core/management/commands/shell.py», 
   строка 29, в handle_noargs
     shell = IPython.Shell.IPShell (argv = [])
   AttributeError: объект 'module' не имеет атрибута 'Shell'

Я проверил, что у меня есть модуль Shell.py и класс IPShell внутри него.

/Library/Python/2.6/site-packages/IPython/Shell.py

 class IPShell: """Create an IPython instance.""" 

Что случилось с этим? Мой IPython / Python / OS выглядит следующим образом.

  • Mac OS X 10.6.5
  • Python 2.6.1
  • IPython версии 0.10.1

ADDED

 >>> импорт IPython
 >>> IPython.Shell
 Traceback (последний последний вызов):
   Файл "", строка 1, в 
 AttributeError: объект 'module' не имеет атрибута 'Shell'
 >>> print IPython .__ file__
 /Library/Python/2.6/site-packages/IPython/__init__.py

РЕШИТЬ

С помощью ma3 и Ignacio я смог решить эту проблему.

  1. Удалить сайт-пакет / IPython и site-package / ipython * .egg
  2. sudo easy_install ipython для новой установки IPython
  3. Примените патч к shell.py django как связанный с Ignacio.

      try: shell = IPython.InteractiveShell() except AttributeError: # IPython < 0.11 # Explicitly pass an empty list as arguments, because otherwise IPython # would use sys.argv from this script. shell = IPython.Shell.IPShell(argv=[]) shell.mainloop() 

3 Solutions collect form web for “IPython не находит класс Shell.IPShell”

Изменения были внесены в IPython еще в 19 августа 2009 года, которые удалили это имя, и Django еще не догнал. Итак, ошибка Django.

РЕДАКТИРОВАТЬ:

И вот оно .

Вот официальная фиксация из django-extensions repo в GitHub:

Django-Extensions GitHub repo

Вы можете установить его, выполнив следующие действия:

 $ git clone git://github.com/django-extensions/django-extensions.git $ cd django-extensions $ python setup.py install 

Для IPython 0.11.dev исправлено:

 from IPython.frontend.terminal.ipapp import IPythonApp app = IPythonApp(argv=[]) app.start() 
  • IPython 5.0 и привязки клавиш в консоли
  • Добавление ipython в качестве интерпретатора в Pycharm Ubuntu
  • Интерактивный Python: не может заставить `% lprun` работать, хотя line_profiler импортирован правильно
  • запустите np.empty во второй раз
  • ipython ноутбук и ginput
  • Как определить пользовательскую магию в jupyter?
  • Как напечатать возвращаемое значение метода в Python?
  • В Ipython, как передать аргументы в ячейку, как если бы это был ее собственный скрипт?
  • Python - лучший язык программирования в мире.