pyseekdb 在 WSL 环境下报 9102 file or directory permission denied/4016 Internal error

  1. 环境信息(已确认满足官方要求)
    系统:WSL(Ubuntu),glibc 版本≥2.28,架构 x86_64
    Python 版本:3.11.x
    pyseekdb:通过 pip 安装的最新版
  2. 问题现象
    在根目录下运行官方示例 通过 Python SDK 体验嵌入式 seekdb | seekdb
    会报错RuntimeError: open seekdb failed 9102 file or directory permission denied
    调整权限后,出现 RuntimeError: open seekdb failed 4016 Internal error
    *确认目标目录 / 文件权限为 666或755(root 用户操作),更换多个路径(/root、/tmp、自定义目录)均无效。
    有人知道原因吗?
1 个赞

需要提供一下相关日志看下

3 个赞

执行带路径权限检查的代码后,日志如下:
root@DESKTOP-OPDT35F:~# python3 test_seekdb.py
2026-01-21 09:30:26,104 - root - INFO - ===== 路径权限检查结果 =====
2026-01-21 09:30:26,104 - root - INFO - 检查路径: ./seekdb.db
2026-01-21 09:30:26,104 - root - INFO - 权限字符串: drwxr-xr-x | 八进制权限: 0o755
2026-01-21 09:30:26,104 - root - INFO - 所有者UID: 0 | 所属组GID: 0
2026-01-21 09:30:26,105 - root - INFO - 当前用户UID: 0 | 当前用户GID: 0
2026-01-21 09:30:26,105 - root - INFO - 读权限: True | 写权限: True | 执行权限: True
2026-01-21 09:30:26,105 - root - INFO - ============================
2026-01-21 09:30:26,105 - pyseekdb.client - INFO - Creating embedded client: path=./seekdb.db, database=hybrid_search_test
2026-01-21 09:30:26,105 - pyseekdb.client.client_seekdb_embedded - INFO - Initialize SeekdbEmbeddedClient: path=/root/seekdb.db, database=hybrid_search_test
2026-01-21 09:30:26,105 - root - INFO - pyseekdb客户端创建成功
2026-01-21 09:30:26,146 - pyseekdb.client.client_base - INFO - Using embedding function dimension: 384
2026-01-21 09:30:26,327 - root - ERROR - 完整错误栈:
Traceback (most recent call last):
File “/root/test_seekdb.py”, line 75, in
collection = client.create_collection(name=“hybrid_search_demo”)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/pyseekdb/client/admin_client.py”, line 183, in create_collection
return self._server.create_collection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/pyseekdb/client/client_base.py”, line 299, in create_collection
self.execute(sql)
File “/usr/local/lib/python3.11/site-packages/pyseekdb/client/client_seekdb_embedded.py”, line 107, in execute
conn = self._ensure_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/pyseekdb/client/client_seekdb_embedded.py”, line 76, in _ensure_connection
seekdb.open(db_dir=self.path) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: open seekdb failed 4016 Internal error
核心矛盾:Python 层面权限 / 路径均正常,但 pyseekdb 底层 seekdb.open() 接口在 WSL 中触发 4016 内部错误;
排除项:已彻底排除权限、用户、路径等常规问题;
核心诉求:求 WSL 环境下适配 pyseekdb 嵌入式模式的方案,或确认 4016 错误的具体成因。

2 个赞

打个卡~