You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

端口8000被占用,如何更换端口启动Sphinx文档服务器?

端口占用导致Sphinx Autobuild启动失败的解决办法

启动文档服务器时出现端口占用错误:

Serving on http://127.0.0.1:8000: WinError 10013: Port is used by other process

详细错误栈:

[I 230831 20:02:57 server:335] Serving on http://127.0.0.1:8000
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\rfnei\AppData\Local\Programs\Python\Python311\Scripts\sphinx-autobuild.exe\__main__.py", line 7, in <module>
  File "C:\Users\rfnei\AppData\Local\Programs\Python\Python311\Lib\site-packages\sphinx_autobuild\cli.py", line 194, in main
    server.serve(port=portn, host=args.host, root=outdir, open_url_delay=args.delay)
  File "C:\Users\rfnei\AppData\Local\Programs\Python\Python311\Lib\site-packages\livereload\server.py", line 339, in serve
    self.application(
  File "C:\Users\rfnei\AppData\Local\Programs\Python\Python311\Lib\site-packages\livereload\server.py", line 291, in application
    app.listen(port, address=host)
  File "C:\Users\rfnei\AppData\Local\Programs\Python\Python311\Lib\site-packages\tornado\web.py", line 2134, in listen
    server.listen(
  File "C:\Users\rfnei\AppData\Local\Programs\Python\Python311\Lib\site-packages\tornado\tcpserver.py", line 183, in listen
    sockets = bind_sockets(
              ^^^^^^^^^^^^^
  File "C:\Users\rfnei\AppData\Local\Programs\Python\Python311\Lib\site-packages\tornado\netutil.py", line 162, in bind_sockets
    sock.bind(sockaddr)
PermissionError: [WinError 10013] An attempt was made to access a socket in a method prohibited by access rights

端口占用详情

执行netstat -o -n -a | findstr 8000查看端口占用:

F:\Blender_build\blender-manual>netstat -o -n -a | findstr 8000
  TCP    0.0.0.0:8000           0.0.0.0:0              LISTENING       4552
  TCP    [::]:8000              [::]:0                 LISTENING       4552

占用端口的进程信息:

httpd.exe                     4552 Services                   0     4 836 KB

解决方案:指定自定义端口

sphinx-autobuild支持通过--port参数指定未被占用的端口,修改启动命令即可:

原启动命令

set SOURCEDIR=\.\manual
set BUILDDIR=build
if "%BF_LANG%" == "" set BF_LANG=en
set SPHINXOPTS=-j auto -D language=%BF_LANG%
    sphinx-autobuild --open-browser --delay 0 "%SOURCEDIR%" "%BUILDDIR%\html" %SPHINXOPTS% %O%

修改后命令(以指定8080端口为例)

set SOURCEDIR=\.\manual
set BUILDDIR=build
if "%BF_LANG%" == "" set BF_LANG=en
set SPHINXOPTS=-j auto -D language=%BF_LANG%
    sphinx-autobuild --open-browser --delay 0 --port 8080 "%SOURCEDIR%" "%BUILDDIR%\html" %SPHINXOPTS% %O%

只需在sphinx-autobuild的参数中添加--port <端口号>,替换<端口号>为任意未被占用的端口(如8080、8001等)即可。启动后访问对应地址(比如指定8080端口则访问http://127.0.0.1:8080)即可查看文档页面。

内容的提问来源于stack exchange,提问作者mod nop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:13:19