如何忽略';src&x27;制作sphinx autodoc时python项目中的目录

如何忽略';src&x27;制作sphinx autodoc时python项目中的目录,python,python-sphinx,setup.py,autodoc,Python,Python Sphinx,Setup.py,Autodoc,(可选说明可以是“如何重命名sphinx autodoc包名?”) 在Python 2.7.13上使用sphinx 1.7版 我想使用docstring和sphinx-apidoc自动创建文档 我的项目结构如下: myPythonProject <- my Python package name and git repository. |-- docs | |-- _build | | |-- html <- where final HTML doc

(可选说明可以是“如何重命名sphinx autodoc包名?”)

在Python 2.7.13上使用sphinx 1.7版


我想使用docstring和
sphinx-apidoc
自动创建文档

我的项目结构如下:

myPythonProject      <- my Python package name and git repository.
|-- docs
|   |-- _build
|   |   |-- html     <- where final HTML doc is created.
|   |   
|   |-- apidocs      <- contains the autodoc created '.rst' files.
|   |-- _static
|   |-- _templates
|   |
|   | conf.py        <- 4 Sphinx doc files, auto generated with sphinx-quickstart.
|   | index.rst      <-
|   | make.rst       <-
|   | Makefile       <-
|
|
|-- src
|   | __init__.py    <- important for 'setup.py'.
|   | myModule1.py
|   | myModule2.py
|   | myModule3.py
|
| setup.py
运行时:
sphinx-apidoc-f-o-docs/apidocs-src

找到了docstring,但它确信src是我的包名。它显然没有遵守我的
setup.py
文件或其他内容。它确实会查看\uuuu init\uuuuuuuuy.py但是,如果我删除它,我可以创建只包含模块的文档,而不包含任何包。但这也是不可取的,但至少更接近

src的内容安装为“MyPythonProject”。因此,
Setup.py
配置如下,以安装此软件包,并在导入时省略“src”引用:

from setuptools import setup

setup(
    name='MyPythonProject',

    packages={'MyPythonProject': 'src'},
    package_dir={'MyPythonProject': 'src'},
(这是一种非正统的结构吗?否则我也会对autodoc支持的更常见的布局感兴趣。)


目前

sphinx-apidoc -f -o docs/apidocs src
sphinx-build -a -b html docs/ docs/_build/html
返回以下文档:

问题:
我如何创建文档来显示
myPythonProject.myModule1.def1()
它是docstring,而不是
src.myModule1.def1()

src
重命名为
myPythonProject
。这是遵循这一惯例的一个例子

本节和和中的示例说明了另一个示例。但是,您仍然会有
MyPythonProject/src/MyPythonProject
,虽然更难操作,但可能不会那么难看


最终,无论您为包含包的直接父目录命名什么,该目录都将成为该方法Python虚线名称的第一部分。

He Steve,感谢您的快速回复!这当然是一个解决方案,但对项目代码使用
src
目录不是很常见吗?正因为如此,我认为必须有一个解决这个问题的办法。。。重命名将导致一个
myPythonProject/myPythonProject
文件夹,我有点不喜欢它。再次感谢!非常感谢史蒂夫!所以换句话说,它是不受支持的,人们使用某种变通方法来获得Sphinx中正确的包命名(并且不为它必须这样构造而烦恼;)。
sphinx-apidoc -f -o docs/apidocs src
sphinx-build -a -b html docs/ docs/_build/html