[Python-checkins] [2.7] bpo-31036: Allow sphinx and blurb to be found automatically (GH-16638)
Benjamin Peterson
webhook-mailer at python.org
Mon Oct 7 23:57:09 EDT 2019
https://github.com/python/cpython/commit/0bd59d655280ad4c4aff2d327789815b89caee18
commit: 0bd59d655280ad4c4aff2d327789815b89caee18
branch: 2.7
author: Benjamin Peterson <benjamin at python.org>
committer: GitHub <noreply at github.com>
date: 2019-10-07T20:57:05-07:00
summary:
[2.7] bpo-31036: Allow sphinx and blurb to be found automatically (GH-16638)
Rather than requiring the path to blurb and/or sphinx-build to be specified to the make rule, enhance the Doc/Makefile to look for each first in a virtual environment created by make venv and, if not found, look on the normal process PATH. This allows the Doc/Makefile to take advantage of an installed spinx-build or blurb and, thus, do the right thing most of the time. Also, make the directory for the venv be configurable and document the `make venv` target..
(cherry picked from commit 590665c399fc4aa3c4a9f8e7104d43a02e9f3a0c)
Co-authored-by: Ned Deily <nad at python.org>
files:
M .gitignore
M Doc/Makefile
diff --git a/.gitignore b/.gitignore
index de25253df82ed..8f3a2d133b5e3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,10 +16,10 @@
*.profraw
*.dyn
Doc/build/
-Doc/tools/docutils/
-Doc/tools/jinja2/
-Doc/tools/pygments/
-Doc/tools/sphinx/
+Doc/venv/
+Doc/.venv/
+Doc/env/
+Doc/.env/
Lib/lib2to3/*.pickle
Lib/test/data/*
Makefile
diff --git a/Doc/Makefile b/Doc/Makefile
index 7ca4c7a2dbf7c..3d7e4ac2bedce 100644
--- a/Doc/Makefile
+++ b/Doc/Makefile
@@ -5,7 +5,9 @@
# You can set these variables from the command line.
PYTHON = python
-SPHINXBUILD = sphinx-build
+VENVDIR = ./venv
+SPHINXBUILD = PATH=$(VENVDIR)/bin:$$PATH sphinx-build
+BLURB = PATH=$(VENVDIR)/bin:$$PATH blurb
PAPER =
SOURCES =
DISTVERSION = $(shell $(PYTHON) tools/extensions/patchlevel.py)
@@ -102,7 +104,12 @@ htmlview: html
$(PYTHON) -c "import webbrowser; webbrowser.open('build/html/index.html')"
clean:
- -rm -rf build/*
+ -rm -rf build/* $(VENVDIR)/*
+
+venv:
+ $(PYTHON) -m venv $(VENVDIR)
+ $(VENVDIR)/bin/python3 -m pip install -U Sphinx blurb
+ @echo "The venv has been created in the $(VENVDIR) directory"
dist:
rm -rf dist
@@ -148,7 +155,7 @@ dist:
cp -pPR build/epub/Python.epub dist/python-$(DISTVERSION)-docs.epub
check:
- $(PYTHON)2 tools/rstlint.py -i tools
+ $(PYTHON)2 tools/rstlint.py -i tools -i $(VENVDIR)
serve:
../Tools/scripts/serve.py build/html
More information about the Python-checkins
mailing list