diff --git a/lib/spack/docs/conf.py b/lib/spack/docs/conf.py
index e051b6e4058d28568687f46386638b22d04a1ee0..97b46970bd0e7ed9c3c27a41441f4e9f363090c0 100644
--- a/lib/spack/docs/conf.py
+++ b/lib/spack/docs/conf.py
@@ -42,7 +42,13 @@
 import shutil
 import subprocess
 from glob import glob
-from sphinx.apidoc import main as sphinx_apidoc
+
+# Since Sphinx 1.7, sphinx.apidoc has been moved to sphinx.ext.apidoc
+# sphinx.apidoc is deprecated and will be removed in Sphinx 2.0
+try:
+    from sphinx.ext.apidoc import main as sphinx_apidoc
+except ImportError:
+    from sphinx.apidoc import main as sphinx_apidoc
 
 # -- Spack customizations -----------------------------------------------------