如何在 readthedocs 中结合 autodoc 使用 Python 3.5 语法?

How to use Python 3.5 syntax in readthedocs combined with autodoc?

提问人:Evert Heylen 提问时间:3/22/2016 最后编辑:Evert Heylen 更新时间:1/30/2018 访问量:1230

问:

我想使用 readthedocs.org 为我的项目生成文档(包括使用 autodoc 自动生成的文档)。但是,我的项目使用 Python 3.5 语法(和),看起来它无法处理。构建成功,尽管我收到了很多这样的错误:asyncawait

/home/docs/checkouts/readthedocs.org/user_builds/sparrow/checkouts/latest/docs/source/entity.rst:176: WARNING: autodoc: failed to import module 'sparrow.entity'; the following exception was raised:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/sparrow/envs/latest/local/lib/python3.4/site-packages/sphinx/ext/autodoc.py", line 385, in import_object
    __import__(self.modname)
  File "/home/docs/checkouts/readthedocs.org/user_builds/sparrow/checkouts/latest/sparrow/__init__.py", line 26, in <module>
    from .model import *
  File "/home/docs/checkouts/readthedocs.org/user_builds/sparrow/checkouts/latest/sparrow/model.py", line 37
    async def install(self):

有没有办法解决这个问题?

蟒蛇 python-3.x python -狮身人面像 autodoc 阅读文档

评论

0赞 Dietrich Epp 3/22/2016
您可能想向 寻求帮助。readthedocs.org
0赞 Evert Heylen 3/22/2016
@DietrichEpp: docs.readthedocs.org/en/latest/support.html:“如果您对如何使用 Read the Docs 有疑问,或者遇到与错误无关的问题,Stack Overflow 是最好的提问场所:)。
0赞 Dietrich Epp 3/22/2016
所以你是说 Stack Overflow 是错误的地方吗?github.com/rtfd/readthedocs.org/issues/1990

答:

1赞 Dietrich Epp 3/22/2016 #1

Readthedocs.org 当前不支持 Python 3.5,请参阅问题 1990:Python 3.5 对构建系统的支持

评论

0赞 Evert Heylen 3/22/2016
哦,好吧,看来我错过了那个问题。在谷歌上搜索与“readthedocs”相关的任何内容,会提供大量您不在寻找的文档:)
2赞 Evert Heylen 3/22/2016 #2

感谢 Dietrich 的回答(我找不到 github 问题很遗憾),我找到了关于 conda 的非常有价值的提示。它看起来有点像 virtualenv,但它有能力自己安装二进制文件和 python 版本。

我能够通过向我的 github 存储库添加两个文件来让它工作,这两个文件都在根目录中(尽管 environment.yml 可以去其他地方)。如果有人想要运行基本的 conda 环境,您可以使用它,而不必自己安装 conda。

readthedocs.yml

conda:
    file: environment.yml

环境.yml

name: py35
dependencies:
- openssl=1.0.2g=0
- pip=8.1.1=py35_0
- python=3.5.1=0
- readline=6.2=2
- setuptools=20.3=py35_0
- sqlite=3.9.2=0
- tk=8.5.18=0
- wheel=0.29.0=py35_0
- xz=5.0.5=1
- zlib=1.2.8=0
- pip:
  - momoko>=2.2.3
  - psycopg2>=2.6.1
  - tornado==4.3

通常,您可以在 requirements.txt 文件中添加需求,然后通过 pip 进行安装。使用 conda 时,您必须在 environment.yml 文件中列出它们,就像我已经对 momoko、psycopg2 和 tornado 所做的那样。

4赞 NOhs 1/30/2018 #3

其他答案有点过时,因为现在 Readthedocs.org 确实支持 Python 3.5 和 3.6。要使用它,必须配置 .有关此内容的文档可在此处找到:http://docs.readthedocs.io/en/latest/yaml-config.htmlreadthedocs.yml

Readthedocs.org 使用 Python 3.5 的最小示例是:

build:
    image: latest

python:
    version: 3.5

如果您有任何依赖项,可以通过文件或 进行处理。例如,如果你想使用 你只需告诉 Readthedocs.org 安装你的软件包:requirements.txtsetup.pysetup.py

build:
    image: latest

python:
    version: 3.5
    setup_py_install: true

评论

0赞 zezollo 6/22/2018
请注意:截至今天,此功能仍处于测试状态,但似乎工作正常。文件名可以以点为前缀:。.readthedocs.yml