【问题标题】:Using TinyMCE with Django, I see ImportError: Cannot import name simplejson在 Django 中使用 TinyMCE,我看到 ImportError: Cannot import name simplejson
【发布时间】:2015-10-05 01:10:39
【问题描述】:

我在 Windows 上使用 Django 和 TinyMCE。当我在命令提示符下运行以下命令时:

python manage.py runserver 

我明白了

ImportError: Cannot import name simplejson

下面是整个控制台输出,包括我得到的回溯(来自Screenshot here

有人有什么建议吗?

C:\WINDOWS\system32>easy_install sinplejson
searching for simplejson
Best match: sinplejson 3.7.3
Processing simp1ejson-3.7.3-py2.7-win-amd64.egg
sinplejson 3.7.3 is already the active version in easy-install.pth
Using C:\python2?\lib\site-packages\sinp1ejson-3.7.3-pg2.7-win-and64.egg
processing dependencies for simplejson
finished processing dependencies for simplejson

C:\WINDOWS\system32>cd C:\home\genesis_book

C:\Home\Genesis_Book>python manage.pg runserver
Traceback (most recent call last):
  File "manage.py". line 13. in (nodule)
    execute_from_comnand_1ine(sys.argu)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py". Line 338. in execute_from_conmand_1ine
    uti1ity.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py". Line 312. in execute
    django.setup()
  File "C:\Python27\lib\site-packages\django\__init__.py". line 18. in setup
    apps.popu1ate(settings.INSTflLLED_BPP8)
  Fi1e "C:\Python27\lib\site-packages\django\apps\registry.pg". line 138. in populate
    app_config.import_mode1s(a11_mode1s)
  File "C:\Python27\lib\site-packages\django\apps\config.py". line 198. in import_models
    se1f.mode1s_modu1e = import_modu1e(mode1s_modu1e_name)
  File "C:\Python27\lib\importlib\__init__.py". line 37. in import_modu1e
    __import__(name)
  File "C:\Home\Genesis_Book\webapp\tinymce\nodels.py". line 6. in (module)
    from tinymce import widgets as tinymce_widgets
  File "C:\Home\Genesis_Book\webapp\tinymce\widgets.py". line 19. in (nodule)
    from django.uti1s import simplejson
ImportError: cannot import name simplejson

更新

人们建议我使用 easy_install simplejson,但我仍然收到错误 - 我已将该阶段之后的输出添加到我的屏幕截图和上面的控制台输出中。

【问题讨论】:

  • 可以复制粘贴吗?
  • 改为导入json
  • 欢迎堆栈溢出!您提出问题的方式,在标题中的主要部分和嵌入在演示文稿中的图片中的 Traceback 不太可能帮助未来的用户,这是该网站的主要目标之一,或者让你们所有人你能得到的帮助。请参阅how to ask,了解有关如何在此处构建好问题的一些提示。在这种特殊情况下,您能否将终端中的错误复制并粘贴到问题中,并将标题中的文本放入问题的正文中?祝你好运!
  • @JesseQuarum 为了帮助您了解我的意思,我使用 OCR 从图片中获取了回溯并将其添加到您的问题中,使标题更具描述性,问题更加集中.我通常不会这样做,也不应该这样做,但这里有一个合理的问题。你得到的答案没有帮助,因为你没有遵循建议来改进你的问题。我希望我的编辑显示您是如何做到这一点的 - 请查看我所做的更改,以便您了解下次要做什么并校对回溯。
  • P.S.我也给你答案了

标签: python json django


【解决方案1】:

来自 django 1.7

模块 django.utils.simplejson 将被移除。标准库提供了 json 来代替。

安装

easy_install simplejson

【讨论】:

  • 我安装了 simplejson 但它仍然给我错误
  • @JesseQuarum 我告诉过你 - import json
  • 你会得到错误,因为它是从 django 导入的。解决方案 1. 可以编辑它(如果可以的话) 2. 降级 django 版本
  • 我在链接中添加了另一张图片。你们说的我都做了
  • 现在你使用的是哪个 django 版本?
【解决方案2】:

您的django-tinymce 版本与您的django 版本不兼容。 django.utils.simplejson has been deprecated as per the docs,但您的 django-tinymce 版本仍在尝试导入它。

easy_install simplejson 安装的模块simplejson 是一个不同的模块,因此没有您发现的效果。

django-tinymce 的修复已于 2013 年 7 月 9 日应用于this code change。我不知道您的系统上如何拥有旧版本,但这是您需要升级的。它位于您系统上的C:\Home\genesis_book\webapp\tinymce 中。我怀疑它已与您下载的某些应用程序捆绑在一起,或者您已将其包含在旧项目中但未升级。

要解决此问题 - 您至少需要将该目录中的 views.pywidgets.py 替换为在此处找到的版本 https://github.com/aljosa/django-tinymce/tree/bbdeb13163ef380f7d6bbab64723ad18fb532f8a/tinymce

大量警告这不是一种干净的升级方式,但没有关于如何在旧版本的系统上安装 django-tinymce 的更多信息,这是我能做的最好的。

【讨论】:

    猜你喜欢
    • 2015-03-07
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    • 2013-02-25
    • 1970-01-01
    • 2019-07-20
    • 2016-05-16
    相关资源
    最近更新 更多