问题
在QianBase数据库中执行qstate检查状态,报以下错误,
[qbadmin@90mpp ~]$ qstate -f
Traceback (most recent call last):
File "/usr/local/QianBaseMPP/bin/qstate", line 11, in <module>
from qpylib.mainUtils import *
ModuleNotFoundError: No module named 'qpylib'
分析
首先,确认qpylib目录是否存在,查看安装目录发现此目录存在
[qbadmin@90mpp qpylib]$ ll /usr/local/QianBaseMPP/lib/python/
total 660
drwxr-xr-x 3 qianbase qianbase 4096 Sep 4 15:29 psutil
-rwxr-xr-x 1 qianbase qianbase 348640 Sep 3 04:08 _qb.cpython-36m-x86_64-linux-gnu.so
-rwxr-xr-x 1 qianbase qianbase 133800 Sep 3 04:08 _qb.cpython-37m-x86_64-linux-gnu.so
-rw-r--r-- 1 qianbase qianbase 66051 Aug 28 15:28 qbdb.py
-rw-r--r-- 1 qianbase qianbase 104780 Aug 28 15:28 qb.py
drwxr-xr-x 10 qianbase qianbase 4096 Sep 4 15:29 qpylib
drwxr-xr-x 2 qianbase qianbase 4096 Sep 4 15:29 yaml
其次查看PYTHONPATH环境变量是否正常,发现此环境内容为空
[qbadmin@90mpp qpylib]$ echo $PYTHONPATH
因此判断是环境变量问题。
解决
source相关path文件,如下所示,
qbadmin@90mpp qpylib]$ source /usr/local/QianBaseMPP/qianbasempp_path.sh
[qbadmin@90mpp qpylib]$ echo $PYTHONPATH
/usr/local/QianBaseMPP/lib/python