阅读Docs autodoc似乎在Python 3.6格式的字符串上失败

时间:2018-06-25 21:38:50

标签: python python-3.x documentation read-the-docs

我在为我的Python项目制作文档时使用了Sphinx自动文档功能。在本地构建HTML可以正常工作,但似乎在Read The Docs上失败。我已将RTD连接到我的Github帐户,并带有提交挂钩。似乎在阅读我的代码并导入包就可以了。

我看到的错误似乎表明它由于我的Python代码中的格式化字符串而失败:

WARNING: autodoc: failed to import module 'letterboxd.api'; the following exception was raised:
Traceback (most recent call last):
  ...
  File "/home/docs/checkouts/readthedocs.org/user_builds/letterboxd/envs/latest/lib/python3.5/site-packages/letterboxd-0.1.0a5-py3.5.egg/letterboxd/api.py", line 77
    headers["Authorization"] = f"Bearer {self.user.token}"
                                                         ^
SyntaxError: invalid syntax

我在本地运行Python 3.6,所以我的 guess 问题是“阅读文档”尚不支持3.6。我确实将RTD管理员>高级设置> Python解释器设置为CPython 3.x,并且还选中了“使用setup.py install将项目安装在virtualenv内”复选框。

这是RTD的当前已知问题,还是我可以调整一些设置来纠正此问题?

1 个答案:

答案 0 :(得分:1)

基于@sehafoc在上面的评论中提供的bug link(谢谢!),我阅读并单击以找到this doc page关于为RTD构建YAML配置文件。

添加此配置文件解决了此问题,其中build:image:python:version:是相关位:

# .readthedocs.yml

build:
  image: latest

python:
  version: 3.6
  setup_py_install: true

requirements_file: requirements.txt