WSL环境下GridDB服务启动失败求助(含'rU'模式错误)
解决WSL中GridDB启动失败的
invalid mode: 'rU'错误 问题根源
GridDB 5.3.0的/usr/griddb-5.3.0/bin/util.py第191行使用了Python 3已废弃的文件打开模式'rU',该模式是Python 2时代用于通用换行解析的语法,Python 3已移除该写法,导致启动服务时触发ValueError。
修复步骤
- 编辑出错的Python脚本文件:
sudo nano /usr/griddb-5.3.0/bin/util.py - 定位到第191行,将:
修改为以下两种写法之一:fp = open(path, 'rU')- 写法1(完全等价原
rU的通用换行行为):fp = open(path, 'r', newline=None) - 写法2(Python 3默认已支持通用换行,可直接简化):
fp = open(path, 'r')
- 写法1(完全等价原
- 保存并退出编辑器(nano中按
Ctrl+O确认保存,Ctrl+X退出) - 重新启动GridDB服务:
sudo systemctl start gridstore - 验证服务状态:
sudo systemctl status gridstore
补充说明
重新安装GridDB后问题仍会出现,因为官方安装包内的脚本未针对Python 3做适配,修改上述代码即可解决启动失败问题。
内容的提问来源于stack exchange,提问作者Ashish Gautam
相关产品推荐
相关产品推荐

