获取错误无法导入名称';六个';从';django.utils';使用Django 3.0.0最新版本时

获取错误无法导入名称';六个';从';django.utils';使用Django 3.0.0最新版本时,django,python-3.x,django-3.0,django-jsonfield,jsonfield2,Django,Python 3.x,Django 3.0,Django Jsonfield,Jsonfield2,目前我已经将Django 2.2升级到3.0版本,突然出现如下错误 Traceback (most recent call last): File "c:\Users\admin\.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\ptvsd_launcher.py", line 43, in <module> main(ptvsdArgs) File "c:\Users\admin\.vscod

目前我已经将Django 2.2升级到3.0版本,突然出现如下错误

Traceback (most recent call last):
  File "c:\Users\admin\.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\ptvsd_launcher.py", line 43, in <module>
    main(ptvsdArgs)
  File "c:\Users\admin\.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\lib\python\old_ptvsd\ptvsd\__main__.py", line 432, in main
    run()
  File "c:\Users\admin\.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\lib\python\old_ptvsd\ptvsd\__main__.py", line 316, in run_file
    runpy.run_path(target, run_name='__main__')
  File "C:\Python37\Lib\runpy.py", line 263, in run_path
    pkg_name=pkg_name, script_name=fname)
  File "C:\Python37\Lib\runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "C:\Python37\Lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\production\myproject\erp_project\manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "d:\production\myproject\venv\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "d:\production\myproject\venv\lib\site-packages\django\core\management\__init__.py", line 377, in execute
    django.setup()
  File "d:\production\myproject\venv\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "d:\production\myproject\venv\lib\site-packages\django\apps\registry.py", line 92, in populate
    app_config = AppConfig.create(entry)
  File "d:\production\myproject\venv\lib\site-packages\django\apps\config.py", line 90, in create
    module = import_module(entry)
  File "d:\production\myproject\venv\lib\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 "d:\production\myproject\venv\lib\site-packages\post_office\__init__.py", line 3, in <module>
    from .backends import EmailBackend
  File "d:\production\myproject\venv\lib\site-packages\post_office\backends.py", line 6, in <module>
    from .settings import get_default_priority
  File "d:\production\myproject\venv\lib\site-packages\post_office\settings.py", line 101, in <module>
    context_field_class = import_attribute(CONTEXT_FIELD_CLASS)
  File "d:\production\myproject\venv\lib\site-packages\post_office\compat.py", line 45, in import_attribute
    module = importlib.import_module(module_name)
  File "d:\production\myproject\venv\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "d:\production\myproject\venv\lib\site-packages\jsonfield\__init__.py", line 1, in <module>
    from .fields import JSONField, JSONCharField  # noqa
  File "d:\production\myproject\venv\lib\site-packages\jsonfield\fields.py", line 21, in <module>
    from .encoder import JSONEncoder
  File "d:\production\myproject\venv\lib\site-packages\jsonfield\encoder.py", line 2, in <module>
    from django.utils import six, timezone
ImportError: cannot import name 'six' from 'django.utils' (d:\production\myproject\venv\lib\site-packages\django\utils\__init__.py)
ImportError:无法从“django.utils”导入名称“six”

我查过了 回溯如下

Traceback (most recent call last):
  File "c:\Users\admin\.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\ptvsd_launcher.py", line 43, in <module>
    main(ptvsdArgs)
  File "c:\Users\admin\.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\lib\python\old_ptvsd\ptvsd\__main__.py", line 432, in main
    run()
  File "c:\Users\admin\.vscode\extensions\ms-python.python-2019.11.50794\pythonFiles\lib\python\old_ptvsd\ptvsd\__main__.py", line 316, in run_file
    runpy.run_path(target, run_name='__main__')
  File "C:\Python37\Lib\runpy.py", line 263, in run_path
    pkg_name=pkg_name, script_name=fname)
  File "C:\Python37\Lib\runpy.py", line 96, in _run_module_code
    mod_name, mod_spec, pkg_name, script_name)
  File "C:\Python37\Lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\production\myproject\erp_project\manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "d:\production\myproject\venv\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
    utility.execute()
  File "d:\production\myproject\venv\lib\site-packages\django\core\management\__init__.py", line 377, in execute
    django.setup()
  File "d:\production\myproject\venv\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "d:\production\myproject\venv\lib\site-packages\django\apps\registry.py", line 92, in populate
    app_config = AppConfig.create(entry)
  File "d:\production\myproject\venv\lib\site-packages\django\apps\config.py", line 90, in create
    module = import_module(entry)
  File "d:\production\myproject\venv\lib\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 "d:\production\myproject\venv\lib\site-packages\post_office\__init__.py", line 3, in <module>
    from .backends import EmailBackend
  File "d:\production\myproject\venv\lib\site-packages\post_office\backends.py", line 6, in <module>
    from .settings import get_default_priority
  File "d:\production\myproject\venv\lib\site-packages\post_office\settings.py", line 101, in <module>
    context_field_class = import_attribute(CONTEXT_FIELD_CLASS)
  File "d:\production\myproject\venv\lib\site-packages\post_office\compat.py", line 45, in import_attribute
    module = importlib.import_module(module_name)
  File "d:\production\myproject\venv\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "d:\production\myproject\venv\lib\site-packages\jsonfield\__init__.py", line 1, in <module>
    from .fields import JSONField, JSONCharField  # noqa
  File "d:\production\myproject\venv\lib\site-packages\jsonfield\fields.py", line 21, in <module>
    from .encoder import JSONEncoder
  File "d:\production\myproject\venv\lib\site-packages\jsonfield\encoder.py", line 2, in <module>
    from django.utils import six, timezone
ImportError: cannot import name 'six' from 'django.utils' (d:\production\myproject\venv\lib\site-packages\django\utils\__init__.py)
回溯(最近一次呼叫最后一次):
文件“c:\Users\admin\.vscode\extensions\ms python.python-2019.11.50794\pythonFiles\ptvsd_launcher.py”,第43行,在
干管(ptvsdArgs)
文件“c:\Users\admin\.vscode\extensions\ms python.python-2019.11.50794\pythonFiles\lib\python\old\u ptvsd\ptvsd\\uuuuu main\uuuu.py”,第432行,在main中
运行()
文件“c:\Users\admin\.vscode\extensions\ms python.python-2019.11.50794\pythonFiles\lib\python\old_ptvsd\ptvsd\\ u_main__.py”,第316行,在运行文件中
runpy.run\u路径(目标,run\u名称=“”\uu主\uuuuuuuuuuuu')
文件“C:\Python37\Lib\runpy.py”,第263行,在运行路径中
pkg_name=pkg_name,script_name=fname)
文件“C:\Python37\Lib\runpy.py”,第96行,在运行模块代码中
模块名称、模块规格、组件名称、脚本名称)
文件“C:\Python37\Lib\runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“D:\production\myproject\erp\u project\manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“d:\production\myproject\venv\lib\site packages\django\core\management\\ uuuuu init\uuuuuu.py”,第401行,从命令行执行
utility.execute()
文件“d:\production\myproject\venv\lib\site packages\django\core\management\\ uu_____.py”,第377行,在execute中
django.setup()
文件“d:\production\myproject\venv\lib\site packages\django\\uuuuu init\uuuuuuu.py”,第24行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“d:\production\myproject\venv\lib\site packages\django\apps\registry.py”,第92行,在“填充”中
app_config=AppConfig.create(条目)
文件“d:\production\myproject\venv\lib\site packages\django\apps\config.py”,第90行,在create中
模块=导入模块(条目)
文件“d:\production\myproject\venv\lib\importlib\\uuuu init\uuuu.py”,第127行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第1006行,在\u gcd\u导入中
文件“”,第983行,在_find_和_load中
文件“”,第967行,在“查找”和“加载”中解锁
文件“”,第677行,在\u加载\u解锁
exec_模块中第728行的文件“”
文件“”,第219行,在“调用”中,删除了“帧”
文件“d:\production\myproject\venv\lib\site packages\post\u office\\uuuu init\uuuu.py”,第3行,在
from.backends导入EmailBackend
文件“d:\production\myproject\venv\lib\site packages\post\u office\backends.py”,第6行,在
从.settings导入获取默认优先级
文件“d:\production\myproject\venv\lib\site packages\post\u office\settings.py”,第101行,在
上下文\字段\类=导入\属性(上下文\字段\类)
文件“d:\production\myproject\venv\lib\site packages\post\u office\compat.py”,第45行,在导入属性中
模块=导入lib.import\u模块(模块名称)
文件“d:\production\myproject\venv\lib\importlib\\uuuu init\uuuu.py”,第127行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“d:\production\myproject\venv\lib\site packages\jsonfield\\uuuu init\uuuuuu.py”,第1行,在
from.fields导入JSONField,JSONCharField#noqa
文件“d:\production\myproject\venv\lib\site packages\jsonfield\fields.py”,第21行,在
从.encoder导入JSONECoder
文件“d:\production\myproject\venv\lib\site packages\jsonfield\encoder.py”,第2行,在
从django.utils导入六个时区
ImportError:无法从'django.utils'导入名称'six'(d:\production\myproject\venv\lib\site packages\django\utils\\uuu init\uuuu.py)
我已签入文件夹Lib\site packages\django\utils and not found和six.py文件,但仍然来自Lib\site packages\jsonfield\encode.py,其中包含来自django.utils import six的行,时区试图导入六个,但无法找到

django的早期版本,包含Lib\site packages\django\utils文件夹中的6.py文件

你知道怎么解决这个问题吗

删除,
django.utils.six中指定的A。
如果您需要,建议改用

在您的情况下,
jsonfield
包可能会被native替换。
另一个解决方案是用fork
jsonfield
自己打包来解决问题,或者对项目的回购进行公关。

简短回答:您可能想放弃
django jsonfield

基于回溯,您正在使用,这是一个。它取决于
django.utils.six
模块,但该模块已在中删除


目前,您无法使用with,并且由于此项目的最后一次提交时间是2017年10月,因此该项目可能不再“活跃”,因此可能需要很长时间(甚至永远不会)才能修复。继任者是。通过2019年10月的pull请求,它与兼容。

为了使用六个模块,您可以直接使用pip安装它,然后相应地修改django jsonfield包。我的意思是在包中找到有来自django.utils import six的
文件,并用
import six
替换它们。那么它应该会起作用。在django 3.0中使用djongo时,我遇到了同样的问题。我找到了相应的文件,并将其替换为上述建议。请注意,如果您从事的是生产级或企业级项目,则不建议这样做。我这样做是为了我的宠物项目

简短回答 在Django 3.0中只需安装六个

pip install six
然后像这样使用它:

import six

在我的例子中,是django haystac造成了这个错误。 它帮助我将pip包升级到最新的测试版

pip install django-haystack==3.0b2

您的
jsonfield
软件包需要在Django中找到一个无法再找到的模块。您正在使用哪个数据库?如“Django.utils.six-删除此供应商库的使用”中所述