无法导入名称simplejson - 安装simplejson后

时间:2015-01-20 15:19:52

标签: python django

我有Django版本1.7和Python版本2.7.5 - 我使用pip install simplejson和apt-get install python-simplejson命令来解决这个问题,但它仍然显示我这个例外。 Django和Python之间是否存在任何兼容性问题,或者解决此异常的解决方案是什么:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/root/test_env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line
    utility.execute()
  File "/root/test_env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute
    django.setup()
  File "/root/test_env/local/lib/python2.7/site-packages/django/__init__.py", line 21, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/root/test_env/local/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "/root/test_env/local/lib/python2.7/site-packages/django/apps/config.py", line 123, in create
    import_module(entry)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/root/test_env/local/lib/python2.7/site-packages/extdirect.django-0.3-py2.7.egg/extdirect/django/__init__.py", line 3, in <module>
    from providers import ExtRemotingProvider, ExtPollingProvider
  File "/root/test_env/local/lib/python2.7/site-packages/extdirect.django-0.3-py2.7.egg/extdirect/django/providers.py", line 4, in <module>
    from django.utils import simplejson
ImportError: cannot import name simplejson

1 个答案:

答案 0 :(得分:21)

您的代码与您正在使用的Django版本不兼容。

Django过去常常在simplejson中附带django.utils,但这是removed in Django 1.5

  

django.utils.simplejson

     

由于Django 1.5不再支持Python 2.5,我们现在可以依赖了   json模块在Python的标准库中可用,所以我们已经   删除了我们自己的simplejson副本。你现在应该导入json   django.utils.simplejson。

     

不幸的是,这种变化可能会产生不必要的副作用,因为   simplejson版本之间的不兼容性 - 请参阅   向后兼容的更改部分。如果您依赖添加的功能   在simplejson成为Python的json后,你应该导入   simplejson明确。


您应该将extdirect的{​​{1}} providers.py中的代码更新为import json,或者使用专为其设计的Django版本。