如何在本地运行sphinx文档服务?开发时预览最新变更的最优方案
Sphinx本地预览文档的最佳方式
别担心,Sphinx其实也有和mkdocs serve类似的本地预览方案,而且不止一种,我给你整理了几种最实用的:
1. 用sphinx-autobuild(最推荐,体验最接近mkdocs)
这是官方认可的第三方工具,完美实现「监听文件变更→自动重建文档→浏览器实时刷新」的全流程,用起来特别省心:
- 先安装工具:
pip install sphinx-autobuild - 进入你的Sphinx项目根目录(就是放
conf.py的文件夹),运行命令:sphinx-autobuild source build/html- 这里的
source是你的源文档目录,build/html是生成的HTML输出目录,根据自己项目的实际结构调整就行
- 这里的
- 执行后会弹出一个本地访问地址(通常是
http://127.0.0.1:8000),打开浏览器访问,之后修改任何文档内容,页面都会自动刷新展示最新效果
2. 手动构建+Python内置HTTP服务器(无需额外安装)
如果不想装新工具,也可以用两步走的方式凑合用:
- 第一步:每次修改文档后,手动重新构建HTML:
- Linux/macOS用户运行:
make html - Windows用户运行:
.\make.bat html
- Linux/macOS用户运行:
- 第二步:进入生成的
build/html目录,启动一个简单的HTTP服务器:- Python3用户:
python -m http.server 8000 - Python2用户:
python -m SimpleHTTPServer 8000
- Python3用户:
- 同样访问
http://127.0.0.1:8000查看文档,但这种方式需要手动触发构建,没有自动刷新功能,适合临时用用
3. Sphinx官方内置的livepreview扩展(适合新版本)
从Sphinx 6.0版本开始,官方推出了sphinx.ext.livepreview扩展,也能实现实时预览:
- 先在项目的
conf.py文件里,把'sphinx.ext.livepreview'添加到extensions列表中 - 运行构建命令:
sphinx-build -b livepreview source build/livepreview - 按照提示的地址访问即可,它也支持自动刷新,但目前功能丰富度不如
sphinx-autobuild
小总结:如果追求和
mkdocs serve一样的流畅体验,优先选sphinx-autobuild;如果不想额外装包,就用手动构建加内置服务器的组合;新版本用户可以试试官方的livepreview扩展。
内容的提问来源于stack exchange,提问作者msantama
相关产品推荐
相关产品推荐

