如何让Sphinx识别pandas模块?——项目文档构建报错问题求助
问题原因与解决方案
看起来你遇到的问题根源是Sphinx配置文件里的两处小错误,结合你的场景具体分析如下:
1. 配置项拼写错误
你的conf.py里写了autodock_mock_imports,这是个明显的笔误——正确的配置项名称应该是autodoc_mock_imports(把dock改成doc)。这个配置的作用是告诉Sphinx在生成文档时模拟导入那些不需要实际运行的依赖库,拼写错误会导致整个配置失效。之前numpy没出问题是因为它已经安装在虚拟环境里,但pandas既没被mock也没被Sphinx正确识别,所以触发了报错。
2. 未将pandas加入模拟导入列表
就算拼写正确,你当前只把numpy加入了mock列表,但你的代码明确依赖pandas,必须把它也加入列表,这样Sphinx才不会尝试去实际导入pandas来生成文档。
修正后的conf.py相关配置段:
autodoc_member_order = 'groupwise' autodoc_default_flags = ['members', 'show-inheritance'] autosummary_generate = True # 修正拼写错误,同时将pandas加入模拟导入列表 autodoc_mock_imports = ['numpy', 'pandas']
另外还有个细节需要调整:你的read_files.rst里引用类和函数时用了test.ReadTextFileKeywords和test.read_csv_columns_by_headers,但你的模块实际是read_files(因为你已经把core_utilities目录加入了sys.path),所以应该改成:
.. autoclass:: read_files.ReadTextFileKeywords :members: .. autofunction:: read_files.read_csv_columns_by_headers
做完这些修改后,重新运行sphinx-build -b html source build,应该就能正常生成文档了。
内容的提问来源于stack exchange,提问作者Jon
相关产品推荐
相关产品推荐

