如何解决Django中的ImportError: 无法导入simplejson错误

2024-04-24 10:23:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Django(1.7.1)中构建一个实时聊天应用程序。似乎我需要安装Redis和ishout.js。所以我按照说明安装了它们。

在Django完成项目后,我将“drealtime”放在已安装的应用程序下,并放置:

'drealtime.middleware.iShoutCookieMiddleware' 

正上方:

'django.contrib.sessions.middleware.SessionMiddleware' 

就像它所说的。我把命令

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中删除。我不知道为什么会这样。 请对此问题给出任何反馈,并提供解决此问题的可能方法。


Tags: djangoinpyinitlibpackageslinelibrary
3条回答

我认为以上的答案是解决办法。

Django过去与Django.utils中的simplejson一起发布,但这在Django 1.5中被删除,因为json模块在Python的标准库中可用。

所以现在应该import json而不是from django.utils import simplejson,并在调用simplejson方法的地方进行必要的更改。

这是应用程序本身的一个bug;不幸的是git上的the error still persists in the master branch

我提交了一个请求以修复错误;同时您可以执行以下操作:

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

您正在使用过时的django-realtime版本。

升级到最新版本,他们fixed the 1.7 compatibility

pip install django-realtime --upgrade

如果错误仍然存在,请直接从github主分支安装:

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

仅供参考,修复:

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

赤裸裸的异常子句-里面的zen程序员正在杀死我,低语着except ImportErrorexcept ImportErrorexcept..

相关问题 更多 >