【Python2转换升级Python3异常错误更改】(一)

目录

1.ModuleNotFoundError: No module named '_ctypes'

2.ModuleNotFoundError: No module named 'jinja2'

3.ModuleNotFoundError: No module named 'jwt'

4.ModuleNotFoundError: No module named 'pymysql'

5.ImportError: cannot import name 'string_concat' from 'django.utils.translation'

6.ModuleNotFoundError: No module named 'Queue'

7.ImportError: cannot import name 'SortedDict' from 'django.utils.datastructures' 

8.ModuleNotFoundError: No module named 'whoosh'

9.ModuleNotFoundError: No module named 'django.utils.importlib'

10.ImportError: cannot import name 'smart_unicode' from 'django.utils.encoding'


1.ModuleNotFoundError: No module named '_ctypes'

解决: 
yum install libffi-devel -y
重新配置编译安装python后解决

2.ModuleNotFoundError: No module named 'jinja2'

解决:
pip3 install jinjia2 -i https://pypi.tuna.tsinghua.edu.cn/simple 

3.ModuleNotFoundError: No module named 'jwt'

解决:
pip3 install jwt

4.ModuleNotFoundError: No module named 'pymysql'

解决:
pip3 install pymysql

5.ImportError: cannot import name 'string_concat' from 'django.utils.translation'

解决:
使用 ''.join()替换代码 删除string_concat导入信息

6.ModuleNotFoundError: No module named 'Queue'

解决:
python3 不兼容Queue 而是queue。使用如下语句可同时兼容
 import sys
 if sys.version > '':
     import queue as Queue
 else:
     import Queue

7.ImportError: cannot import name 'SortedDict' from 'django.utils.datastructures' 

解决:
SortedDict Python3不存在
将from django.utils.datastructures import SortedDict 改为
from collections import OrderedDict
​
原本的SortedDict中的数据为dict的直接加⭐
原本的数据SortedDict里为列表的改OrderedDict 为 dict后加⭐
原本的数据里返回SortedDict的要看返回的函数,给函数的参数提前加⭐排序后传参
​
⭐OrderedDict(sorted(test_dict.items(), key=lambda obj: obj[0]))

8.ModuleNotFoundError: No module named 'whoosh'

解决:
pip3 install whoosh

9.ModuleNotFoundError: No module named 'django.utils.importlib'

解决:
Django版本升级更换语法
try:
    # Django versions >= 1.9
    from django.utils.module_loading import import_module
except ImportError:
    # Django versions < 1.9
    from django.utils.importlib import import_module

10.ImportError: cannot import name 'smart_unicode' from 'django.utils.encoding'

解决:
python3中没有unicode 
更换别名 smart_unicode 为 smart_text 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值