FileNotFoundError: [Errno 2] when using sphinx and autodoc

FileNotFoundError: [Errno 2] when using sphinx and autodoc

我正在尝试使用 sphinx 来 运行 自动文档。我的项目结构是这样的:

python 文件从 input/input.xlsx 读取的位置。 我的 conf.py 看起来像:

import os 
import sys 
sys.path.insert(0, os.path.abspath('../../'))

extensions = ['sphinx.ext.autodoc']

I 运行 ./docs/sphinx-apidoc -o ./source ../ 它创建一个:

module.rst

和:

My_Project.rst

里面 ./docs/source

我的问题是,当我构建 make html 时,它会给我这样的错误:

FileNotFoundError: [Errno 2] No such file or directory: './input'

但是,正如我在 conf.py 中设置的那样,它在逻辑上应该向上两层,向下一层到 /input 文件夹。

../../input

感谢任何想法。

最后我找到了对我有用的东西。事先,我需要澄清一些事情:在我的 source 目录中位于 ../../ 的 python 文件之一中,代码正在从该路径 [=13] 读取一个 excel 文件=].我发现定义硬编码路径是这个问题的根源。所以我用下面的代码修复了它:

directory_path = os.path.dirname(os.path.abspath(__file__)) 
new_path = os.path.join(directory_path, "input.xlsx")