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

  • Post author:
  • Post category:其他




背景

在运行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 就搞定了



版权声明:本文为qq_35617751原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。