Python 代码块不使用 readthedocs 和 sphinx 进行渲染

Sop*_*kel 5 python documentation python-sphinx read-the-docs

我正在使用 Sphinx 为 python 项目构建文档并阅读文档。由于某种原因,代码块在构建文档后不会呈现,并且内联代码(用反引号标记)显示为斜体。我检查了原始版本,有一个警告,指出无法找到 exomagpy 模块,我通过将 conf.py 的 os.path.abspath() 部分中的“..”更改为“../”来解决该问题,这似乎没有改变文档中的任何内容。stackoverflow上有一个类似的问题,我尝试了解决方案,但它没有改变。

原始版本可以在这里找到:https ://readthedocs.org/api/v2/build/17574729.txt

这些文档是从 github 页面的“开发”分支构建的(链接如下)

以下是 github 页面的链接:https://github.com/quasoph/exomagpy/tree/Develop

回购协议的结构如下:

>.vscode
>build/lib/exomagpy

>docs
   >conf.py
   >rst files (.rst)
   >makefile
   >make.bat

>exomagpy.egg-info

>exomagpy
   >__init__.py
   >module files (.py)

>.readthedocs.yml
>requirements.txt
>setup.py
Run Code Online (Sandbox Code Playgroud)

这是我的文件:

.conf.py

import os
import sys
sys.path.insert(0, os.path.abspath("../"))

# project info

project = "exomagpy"
root_doc = "index"
release = "1.3.0"

# general config

extensions = ["sphinx.ext.autodoc","sphinx.ext.napoleon","sphinx.ext.autosummary"
]

templates_path = ['_templates']
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']

# html options

html_theme = 'sphinx_rtd_theme'
html_static_path = []

Run Code Online (Sandbox Code Playgroud)

.readthedocs.yml

version: 1

build:
  os: ubuntu-20.04
  tools:
    python: "3.8"
  
sphinx:
  configuration: docs/conf.py

python:
  version: 3.8
  install:
    - method: setuptools
      path: .
    - requirements: requirements.txt

dependencies:
  - python=3.8
Run Code Online (Sandbox Code Playgroud)

要求.txt

numpy
matplotlib
pandas
tensorflow
lightkurve
requests
sphinx==5.1.1
sphinx_rtd_theme==1.0.0
Run Code Online (Sandbox Code Playgroud)

安装程序.py

from setuptools import setup, find_packages

setup(
    name = "exomagpy",
    version = "1.3.0",
    author = "Sophie",
    author_email = "email",
    url = "link",
    description = "description",
    packages = find_packages()
)
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助,如果需要更多信息,请告诉我。

Ste*_*rcy 4

正如 @mzjn 指出的,code-block指令和应该突出显示的代码之间需要一个空行。

https://raw.githubusercontent.com/quasoph/exomagpy/main/docs/tutorials.rst

.. code-block:: python

    import exomagpy.predictExo
    exomagpy.predictExo.tess()
    exomagpy.predictExo.kepler()
Run Code Online (Sandbox Code Playgroud)

此外,对于内联代码文字,如您所知,reStructuredText 中的单个反引号会呈现为斜体,而在 Markdown 及其风格中,它将呈现为内联代码文字。对于 reStructuredText,用双反引号包围文字:

``inline_literal``
Run Code Online (Sandbox Code Playgroud)