You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

mkdocstrings无法识别src目录下模块的问题求助

解决mkdocstrings无法加载src目录下模块的问题

问题根源

Python解释器默认不会将项目根目录下的src/路径加入模块搜索列表(sys.path),因此mkdocstrings无法定位到该目录下的module模块。而把模块移到仓库根目录时,根目录默认在sys.path中,所以插件能正常识别。

可行解决方案

方法1:通过mkdocs.yml配置路径

直接在mkdocs.yml中给mkdocstrings的Python处理器指定模块所在路径:

plugins:
  - mkdocstrings:
      handlers:
        python:
          path:
            - src  # 添加src目录到模块搜索路径

配置完成后重新执行mkdocs build,插件就能识别src/module下的代码了。

方法2:通过启动脚本手动添加路径

如果上述配置不生效,可在项目根目录创建启动脚本mkdocs_run.py,手动把src加入sys.path后再启动mkdocs:

import sys
from pathlib import Path
from mkdocs.__main__ import cli

# 将src目录加入模块搜索路径
sys.path.insert(0, str(Path(__file__).parent / "src"))

# 执行build命令(如需其他命令,替换"build"即可)
sys.argv.insert(1, "build")
cli()

之后运行python mkdocs_run.py替代原有的mkdocs build命令即可。

验证方式

修改配置或使用启动脚本后,重新执行构建命令,若不再出现No module named 'module'的错误,说明配置生效。

内容的提问来源于stack exchange,提问作者renderbox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 19:22:39