当我尝试在 pycharm 中使用以下代码时,收到错误消息“ImportError:无法从 'cgi' 导入名称 'escape'”:
import nltk
parser = nltk.ChartParser(grammar, trace=0)
for tree in parser.parse(sent):
print(tree)
tree.pretty_print(unicodelines=True)
我应该怎样做才能纠正它?
cgi.escape()
已在 python 3.8 中删除。引用自这里,
parse_qs、parse_qsl 和 escape 从 cgi 模块中删除。他们 在 Python 3.2 或更早版本中已弃用。它们应该是从 改为 urllib.parse 和 html 模块。
由于您导入的是第三方模块,请尝试使用较低的python版本。
您可以使用 html.escape 代替 cgi.escape。 它对我有用
我已将
supervisor
软件包版本更新为:
supervisor==4.1.0
https://pypi.org/project/supervisor/4.1.0/
[修复了因删除 cgi.escape() 导致的 Python 3.8 兼容性问题。 Mattia Procopio 的补丁。]
问题解决了。
对于我来说,升级
nltk
软件包解决了问题,尝试使用最新版本的nltk
来检查,请访问此链接
升级
nltk
pip install --upgrade pip
pip install --upgrade nltk