阅读文档不会生成方法文档

时间:2018-02-17 11:38:05

标签: python python-sphinx read-the-docs

我创建的python library取决于pypiwin32包。对于某些功能,他们使用_winreg包。它适用于Windows,但RTD virtualenv未在Windows上运行且此程序包不可用。因为它是python本身的一部分而不是pypi,所以我无法将其作为依赖。

每次我从源代码构建文档时,都会错过_winreg包。

我尝试在setup.py中使用类似的内容删除对pypiwin32的依赖:

if os.environ.get('READTHEDOCS') == 'True':
    REQUIRED = []
else:
    REQUIRED = [
        "pypiwin32"
    ]

适用于所有.rst Sphinx文件。另一方面,没有生成函数文档。在本地计算机(Windows)上,所有内容都已正确记录。

注意: Read the docs文档是从我的github项目的rtd分支生成的。

有没有解决方法呢?

谢谢。

1 个答案:

答案 0 :(得分:0)

我可能找到了有效的解决方案。由于阅读文档不支持_winreg,因此我对阅读文档的pypiwin32禁用了完全依赖。

# ... part of setup.py
if os.environ.get('READTHEDOCS') == 'True':
    REQUIRED = []
else:
    REQUIRED = [
        "pypiwin32"
    ]

READTHEDOCS是环境变量,仅适用于RTD,see more

这打破了我图书馆的所有电话。因此,我创建了另一个带有模型函数的文件,仅用于Read The Docs:

# ... part of __init__.py
if os.environ.get('READTHEDOCS') != 'True':
    from win32api import GetModuleHandle
    # ... import rest of win32api functions
else:
    from .read_the_docs import *

read_the_docs.py的内容:

def GetMOduleHandle(*args, **kwargs):
    pass

# ... rest of file

这样,本地版本会使用pypiwin32_winreg,但在阅读文档时,Sphinx会使用这种"模型"效用