ImportError: cannot import name ‘six‘ from ‘django.utils‘ -问题记录

背景

在运行django3.0 的时候报错,代码中包含了django1.11的代码出现如下错误:

ImportError: cannot import name 'six' from 'django.utils'

原因

django 3.x 系列删除了six. 版本升级问题

解决

安装 six

pip3 install six

进入安装包目录

cd /usr/local/lib/python3.7/site-packages

将six.py拷贝进django/utils/目录下

cp six.py django/utils

运行看行不行,不行就要改源码了

# 将site-packages/haystack/inputs.py 中
from django.utils.encoding import force_text, python_2_unicode_compatible
# 改为
from django.utils.encoding import force_text
from django.utils.six import python_2_unicode_compatible
# 问题解决

改源码是不得已,在网上找的答案,我是直接cp six.py 就搞定了

你可能感兴趣的:(python-Django)