我有一个毒性配置,允许我对文档进行一些检查。这或多或少来自official documentation on tox .
[tox]
envlist = py36, flake8, docs
[testenv:docs]
basepython=python3.6
changedir=docs # ← causes sphinx-apidoc to misbehave.
deps=-r{toxinidir}/requirements/requirements.txt
commands=
sphinx-apidoc --force --separate --private --module-first -o docs site '*/*test*' '*/*migration*'
pytest --maxfail=1 --tb=line -v --junitxml=junit_{envname}.xml check_sphinx.py
但是,第一个命令 (sphinx-apidoc ...
) 需要在项目的根目录中运行,否则排除模式将不起作用。尽管我尝试了许多可能的变化,但还是如此。第二个命令需要在 docs
目录中运行。
如何让这两个命令在单独的目录中运行?
最佳答案
将命令
指向 shell 脚本,例如
#!/bin/bash
set -eux
sphinx-apidoc --force --separate --private --module-first -o docs site '*/*test*' '*/*migration*'
cd docs
pytest --maxfail=1 --tb=line -v --junitxml=junit_{envname}.xml check_sphinx.py
关于python - 通过 tox 运行 Sphinx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47224468/