superset相关错误
程序员文章站
2024-03-12 11:26:32
...
启动superset后,在点击角色列表的时候,出现了一下错误:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 36-41: ordinal not in range(128)
可以看到是编码错误。按以下几个步骤就可以搞定了
1.查看superset使用的Python版本。
ls venv/lib
会显示Python版本,我的是Python2.7
2.找到Python的安装目录
我的在/etc目录下,进入etc目录,执行以下命令
ls -l | grep python
会显示Python目录
我安装了两个版本,因此这里显示了两个,但superset使用的是Python2.7,我们就操作这个版本就可以了。
3.修改sitecustomize.py文件
继续执行下面命令
cd python2.7
ls
我的Python2.7目录下就只有这一个文件,我们就是要操作这个文件,执行以下命令:
sudo gedit sitecustomize.py
在sitecustomize.py文件中加入下面的代码
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
加完后是这个样子
保存后退出就可以了。
重启superset。
重启superset的命令我也不知道是什么,可以换个端口启动,superset runserver -p 8086