WSL/Ubuntu环境下Python3.10导入griddb_python时遇ImportError: libgridstore.so.0问题求助
WSL/Ubuntu环境下Python3.10导入griddb_python时遇ImportError: libgridstore.so.0问题求助
我正在WSL的Ubuntu环境里折腾GridDB,按照griddb-python的安装步骤完成了包安装,但一尝试导入模块就碰到了错误:
(griddb-env) lockmorei@LOCKMOREI:~$ python3.10 -c "import griddb_python" Traceback (most recent call last): File "<string>", line 1, in <module> File "/home/lockmorei/griddb-env/lib/python3.10/site-packages/griddb_python.py", line 21, in <module> import _griddb_python ImportError: libgridstore.so.0: cannot open shared object file: No such file or directory
我猜测问题应该出在GridDB的C客户端依赖的共享库上,不过就算我安装了C客户端,错误还是没消失。
我用的是5.7.0版本的C客户端,执行的安装命令是:
wget https://github.com/griddb/griddb/releases/download/v5.7.0/gridstore_5.7.0_ubuntu22.04_x86_64.deb sudo dpkg -i griddb_5.7.0_amd64.deb sudo apt-get install -f
安装过程看起来是正常的,输出如下:
lockmorei@LOCKMOREI:~$ sudo dpkg -i griddb_5.7.0_amd64.deb (Reading database ... 49718 files and directories currently installed.) Preparing to unpack griddb_5.7.0_amd64.deb ... Removed "/etc/systemd/system/multi-user.target.wants/gridstore.service". ------------------------------------------------------------ Information: User and group have already been registered correctly. GridDB uses existing user and group. ------------------------------------------------------------ Unpacking griddb (5.7.0) over (5.7.0) ... Setting up griddb (5.7.0) ... Created symlink /etc/systemd/system/multi-user.target.wants/gridstore.service → /usr/lib/systemd/system/gridstore.service.
之后执行apt-get install -f处理依赖,结果也显示没问题:
lockmorei@LOCKMOREI:~$ sudo apt-get install -f [sudo] password for lockmorei: Reading package lists... Done Building dependency tree... Done Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
我运行了ldd命令检查Python模块的依赖,发现确实找不到libgridstore.so.0:
lockmorei@LOCKMOREI:~/griddb-env/lib/python3.10/site-packages$ ldd /home/lockmorei/griddb-env/lib/python3.10/site-packages/_griddb_python.cpython-310-x86_64-linux-gnu.so* linux-vdso.so.1 (0x00007ffc40b8f000) librt.so.1 => /usr/lib/x86_64-linux-gnu/librt.so.1 (0x00007f3af583e000) libgridstore.so.0 => not found libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3af55bb000) libm.so.6 => /usr/lib/x86_64-linux-gnu/libm.so.6 (0x00007f3af54d2000) libgcc_s.so.1 => /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3af54a4000) libc.so.6 => /usr/lib/x86_64-linux-gnu/libc.so.6 (0x00007f3af5290000) /lib64/ld-linux-x86-64.so.2 (0x00007f3af58aa000)
另外执行ldconfig -p | grep libgridstore也没有任何输出。不管我怎么调整路径、重新安装依赖,这个错误一直存在。有没有朋友知道怎么才能正确让系统找到这个共享库文件?
我的环境配置:
griddb_python: 0.8.5 Python: 3.10 Virtualization: wsl Operating System: Ubuntu 24.04.1 LTS Kernel: Linux 5.15.167.4-microsoft-standard-WSL2 Architecture: x86-64
备注:内容来源于stack exchange,提问作者Luke Summerville
相关产品推荐
相关产品推荐

