在解决该问题之前,首先需要明白Python3.x 与Python2.x 在编码上有很大区别:
其中python2.x的默认编码是ascii,Python 3 默认编码是utf-8编码。
因此解决NameError: name 'reload' is not defined 问题有不同方法:
Python2.x
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
Python 3 的情况下,因为其默认编码utf-8,就不需要sys.setdefaultencoding("utf-8")。
另外,Python 3 的 sys 库里面已经没有 setdefaultencoding() 函数。
python3.x <=3.3
import imp
imp.reload(sys)
python3.x > 3.4
import importlib
importlib.reload(sys)