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

ImportError:无法从“ django.utils”导入名称“ six”

伯建安
2023-03-14
问题内容

目前,我已经将Django的版本从升级2.0.6到,3.0并且在调用python manage.py shellcommand时突然出现以下错误:

ImportError: cannot import name 'six' from 'django.utils' (/path-to-project/project/venv/lib/python3.7/site-packages/django/utils/init.py)

完整跟踪:

Traceback (most recent call last):
  File "manage.py", line 13, in <module>
    execute_from_command_line(sys.argv)
  File "/path-to-project/project/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "/path-to-project/project/venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 377, in execute
    django.setup()
  File "/path-to-project/project/venv/lib/python3.7/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/path-to-project/project/venv/lib/python3.7/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "/path-to-project/project/venv/lib/python3.7/site-packages/django/apps/config.py", line 90, in create
    module = import_module(entry)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/path-to-project/project/venv/lib/python3.7/site-packages/corsheaders/__init__.py", line 1, in <module>
    from .checks import check_settings  # noqa: F401
  File "/path-to-project/project/venv/lib/python3.7/site-packages/corsheaders/checks.py", line 7, in <module>
    from django.utils import six

问题答案:

Django 3.0.0发行说明指定删除了某些私有的Python 2兼容性API。其中有django.utils.six

对于此错误,@ WillemVanOnsem特别指出该模块corsheaders正在引用该模块。

对于遇到相同问题的其他人,查看stacktrace的最后一行上的文件路径可以帮助识别有问题的模块。我看到的另一个例子是:

...
File "/path/to/project/venv/lib/python3.8/site-packages/parler/utils/conf.py", line 10, in <module>
    from django.utils import six
ImportError: cannot import name 'six' from 'django.utils' (/path/to/project/venv/lib/python3.8/site-packages/django/utils/__init__.py)

在这种情况下,导致问题的模块为parler。希望这对遇到此问题的其他人有所帮助。



 类似资料:
  • 最近,我将Django framework的版本从升级到,在调用命令后,突然出现了以下异常: 重要错误:无法从django.utils导入名称六(/path-to-project/project/venv/lib/python3.7/site-包/django/utils/init.py) 完整跟踪: 类似问题: 我读了这个问题和这个django-3.0发行说明,但是这些资源帮不了我。

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

  • 我的笔记本一直工作到今天。在我的colab笔记本开始时,我安装了tf-nigh,但现在它给了我这个错误: 我的代码: 安装tensorflow==2.1.0也不起作用。

  • 问题内容: 我正在尝试运行以下简单代码 但我收到以下错误 我正在Windows 10下使用python 2.7。 我已经安装了,但是似乎无法解决问题 任何帮助表示赞赏。 问题答案: 如果查看引起错误的行,则会看到以下内容: 该行注释将依赖项声明为(对于 Intel Math Kernel Library )。这意味着您已经安装了by ,但是the是由预编译的存档安装的,其期望值为。 通过从此处的w

  • 问题内容: 我没有找到解决方案,有人可以帮忙吗? 问题答案: 1. 尝试更新 2. 尝试重新安装 以下代码段将打印到控制台什么?

  • 问题内容: 我正在尝试使用ttk模块为tkinter中的GUI应用程序为Windows创建可执行文件。我使用cx_freeze制作了一个exe,但是当我在控制台中运行该应用程序时,出现以下错误: 这是我的代码中的第14和15行: 问题答案: 看起来cx_freeze没有意识到它应该包含该模块,该模块有条件地由导入。您可以告诉它在命令行参数或关键字参数to中明确包含该模块。