Как решить ImportError: невозможно импортировать имя simplejson в Django

Я пытаюсь создать приложение чата в реальном времени в Django (1.7.1). Кажется, мне нужно было установить Redis и ishout.js. Поэтому я установил их, следуя инструкциям.

после создания проекта в Django я поставил "drealtime" под INSTALLED_APPS и поставил:

'drealtime.middleware.iShoutCookieMiddleware' 

справа вверху :

'django.contrib.sessions.middleware.SessionMiddleware' 

под MIDDLEWARE_CLASSES как говорится. И я поставил команду

python manage.py startapp example

но все же у меня есть это сообщение об ошибке импорта:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
    utility.execute()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute
    django.setup()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/__init__.py", line 21, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/apps/config.py", line 87, in create
    module = import_module(entry)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/drealtime/__init__.py", line 4, in <module>
    from django.utils import simplejson as json

после того, как я искал через официальный сайт Django, я обнаружил, что simplejson больше не используется и удаляется из нового Django. Я не знаю, почему это происходит. Пожалуйста, дайте любые отзывы по этому вопросу и возможные средства для решения этой проблемы.

3 ответов


вы используете устаревшую версию django-realtime.

обновить его до последней версии, они исправлена совместимость 1.7:

pip install django-realtime --upgrade

если ошибка сохраняется, установите непосредственно из GitHub, master branch:

$ pip install git+https://github.com/anishmenon/django-realtime.git --upgrade

FYI, исправление:

try:
    from django.utils import simplejson as json
except:
    import simplejson as json

голое исключение - программист Дзен внутри убивает меня шепотом except ImportError, except ImportError, за исключением..


Я думаю, что приведенные выше ответы являются обходными путями.

Django используется для доставки с simplejson на Джанго.utils, но это было удалено в Джанго 1.5, потому что в формате JSON модуль доступен в стандартной библиотеке Python.

Так что теперь вы должны import json вместо from django.utils import simplejson, и внести необходимые изменения, где вызываются методы simplejson.


Это ошибка в самом приложении; к сожалению ошибка по-прежнему сохраняется в ветке master в git.

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

pip uninstall django-realtime
pip install git+https://github.com/burhan/django-realtime.git@import-fix