Windows下CMD运行python,执行命令 python2 hello.py
报错,报错信息:LookupError: unknown encoding: cp65001
。
报错原因:编码不一样
CMD当前活动窗口encoding是 65001
,即UTF-8
编码。
Python2默认编码是ASCII,所以会报错。
网上找了一些解决办法,包括使用win-unicode-console
包、sys.setdefaultencoding("utf-8")
等,不过都没有解决问题。
1.使用win-unicode-console
包的方法(未解决)
设置完encoding变量后安装win-unicode-console
python包,根源上解决问题
包的作用:从Windows控制台运行Python时,可以启用Unicode输入和显示的Python包
输入下列代码:pip2 install win-Unicode-console
2.使用sys.setdefaultencoding("utf-8")
设置编码的方法(未解决)
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
解决方法:添加 PYTHONIOENCODING
环境变量解决了问题。
设置 Python encoding 相关环境变量,添加名称为 PYTHONIOENCODING
的环境变量($env:PYTHONIOENCODING = "UTF-8"
),值为UTF-8
,保持CMD编码和Python2编码一致,都为UTF-8
就行了。
执行命令 python2 hello.py
就可以正常输出了。
附:修改CMD的编码模式的命令
1.修改CMD编码为GBK
chcp 936
2.修改CMD编码为UTF-8
chcp 65001
done!
出处:www.l1mn.com
原文标题:Python2 报错 LookupError: unknown encoding: cp65001 解决办法
原文地址:https://www.l1mn.com/p/yf6ew4.html
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
Copyright © L1MN.COM 联系方式:l1mnfw@163.com