当前位置: 首页 > 面试题库 >

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

凌琦
2023-03-14
问题内容

我有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

问题答案:

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

Django以前附带simplejsonin django.utils,但在Django 1.5中已删除:

django.utils.simplejson
由于Django 1.5放弃了对Python 2.5的支持,因此我们现在可以依靠Python标准库中提供的json模块,因此我们删除了自己的simplejson副本。现在,您应该导入json而不是django.utils.simplejson。

不幸的是,由于simplejson版本之间的不兼容,此更改可能会产生有害的副作用-请参阅“向后不兼容的更改”部分。如果您依赖于simplejson成为Python的json之后添加到其上的功能,则应显式导入simplejson。

您应该更新代码extdirectproviders.pyimport json替代,或者用的Django版本,它的目的是要与工作。



 类似资料:
  • 这是 Python 解析 JSON 的程序库。它具有简单、快速、完整、正确和易于扩展的特点,支持Python 2.5+和Python 3.3+。为了加速处理速度,它包括一个可选的C扩展。 示例 >>> import simplejson as json>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])'["foo", {"bar": ["

  • 我的错误(命令pythonmanage.pyrunserver)-文件"/用户/用户名/虚拟环境/lib/python2.7/站点包/jsonfield/fields.py",第3行,从django.utils导入simplejson作为json重要错误:不能导入名称simplejson 我尝试了这两篇文章中的解决方案,但在我的案例中它们不起作用不能导入名称simplejson-安装simplej

  • 问题内容: 使用simplejson序列化numpy数组的最有效方法是什么? 问题答案: 我将使用它作为最 方便的 方法(如果我仍在使用,这意味着被Python 2.5或更早版本所卡住; 2.6和更高版本具有一个标准库模块,它们的工作方式相同,所以我当然会使用它如果使用的Python版本支持它;-)。 为了寻求更高的效率,您 可以将 json.JSONEncoder 子类化(在中;我不知道旧版本是

  • 问题内容: 我在应用程序引擎中使用Alchemy API,所以在使用simplejson库来解析响应。问题是响应中包含具有sme名称的条目 因此,问题在于重复了“ subType”,因此加载返回的指令只是“ TVActor”,而不是列表。无论如何要解决这个问题? 问题答案: 定义的RFC 4627 表示: 和: 这意味着AlchemyAPI不应在同一个对象内返回多个名称,并声称它是JSON。 您可

  • 问题内容: 我有两个文件, app.py mod_login.py 而python返回此错误: 如果删除from app import app,代码将起作用,但是如何访问? 问题答案: 问题是你有一个循环导入:在app.py中 在mod_login.py中 这在Python中是不允许的。有关更多信息,请参见Python中的循环导入依赖项。简而言之,解决方案是 要么将所有内容收集到一个大文件中 使用

  • 发生此错误时,我的原始代码不包含“导入 resnet”。 似乎错误发生时,导入张量流。