在Sphinx conf.py中指定协作文档的相对路径

时间:2013-06-13 11:47:02

标签: python python-2.7 python-sphinx

我正在与一些同事合作开发一个python项目,我们有一个中央存储库(Hg),我们可以在这里进行推送和本地回购,我们可以在那里进行大部分开发和文档编制。 Sphinx非常适合生成文档。结构与此类似

projects-top/
      +python_application_folder
            +my_application_folder
            +docs_folder
                 +docs_build_folder
                 +docs_dist_folder
                  conf.py
                  index.rst

然而,当我们拉动并且工作时,为了更新文档,我们当前更改conf.py文件以说明代码的位置,显然路径从用户更改为用户,在用户a上它可能是c:\ usera \ projects-top \ python_application_folder \ my_application_folder,对于用户b,它可能是d:\ userb \ projects-top \ python_application_folder \ my_application_folder 我如何在conf.py文件中指定一个适用于所有用户的相对路径,我只想让它看起来在一级目录中并记录代码.. \ my_application_folder

2 个答案:

答案 0 :(得分:3)

将以下内容添加到conf.py:

import os, sys

sys.path.append(os.path.abspath('../my_application_folder'))

这会将my_application_folder的绝对路径附加到module search paths列表中。

extensions配置变量的文档中,强调absolute paths should be used扩展sys.path时。我认为主要原因是,如果您从sphinx-build以外的其他目录运行configuration directory,相对路径将无效。

答案 1 :(得分:1)

您可以直接在第一个文档的指令中使用相对路径:

.. literalinclude:: ../my_application_folder/setup.py
    :language: python
相关问题