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

取消权限后SpaCy displaCy无法渲染,如何重新设置权限?

解决displaCy.serve在Windows 10下的权限阻塞问题

看起来你是因为第一次拒绝了Windows防火墙的权限请求,导致displaCy的本地服务器无法正常对外提供服务,所以Jupyter单元格一直处于运行状态。这里有两个靠谱的解决思路:

方法一:手动配置Windows防火墙允许Python/Jupyter通过

Windows防火墙的权限请求弹窗只在首次运行时出现,取消后就需要手动添加规则:

  1. 打开Windows Defender防火墙:可以通过开始菜单搜索“防火墙”直接进入,或者从控制面板找到它。
  2. 点击左侧菜单的「允许应用或功能通过Windows Defender防火墙」。
  3. 点击右上角的「更改设置」(这一步需要管理员权限,按提示确认即可)。
  4. 在应用列表里找到你的Python程序(可能显示为Python.exe,如果是用Anaconda的话,可能是对应环境里的python程序),或者Jupyter Notebook相关的进程。
  5. 勾选它对应的「专用」和「公用」网络权限,然后点击「确定」保存。
  6. 如果列表里找不到目标程序,点击「允许其他应用」,手动浏览到你的Python安装路径(比如C:\Users\你的用户名\AppData\Local\Programs\Python\Python3x\python.exe,或者conda环境的python.exe),添加后再勾选权限。

完成后重启Jupyter Notebook,再运行你的displaCy.serve代码,应该就能正常访问了。

方法二:改用displacy.render直接在Notebook内渲染

其实对于Jupyter Notebook场景,displaCy提供了更适配的render方法,不需要启动外部服务器,也就不会触发防火墙权限问题:

from spacy import displacy

# 假设你已经准备好了doc对象
options = {'compact': True, 'bg': '#09a3d5', 'color': 'white', 'font': 'Source Sans Pro'}
displacy.render(doc, style='dep', options=options, jupyter=True)

只需要给render方法加上jupyter=True参数,它就会直接在单元格里渲染出依存可视化结果,完全不需要等待服务器,体验更顺畅。

另外,如果你还是想坚持用serve,可以尝试以管理员身份启动Jupyter Notebook,然后再运行代码,说不定会重新触发防火墙的权限请求弹窗,这次记得选「允许访问」就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:52:45