导入错误:无法从“cgi”导入名称“escape”

问题描述 投票:0回答:4

当我尝试在 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)

我应该怎样做才能纠正它?

import tree pycharm nltk
4个回答
12
投票

cgi.escape()
已在 python 3.8 中删除。引用自这里

parse_qs、parse_qsl 和 escape 从 cgi 模块中删除。他们 在 Python 3.2 或更早版本中已弃用。它们应该是从 改为 urllib.parse 和 html 模块。

由于您导入的是第三方模块,请尝试使用较低的python版本。


5
投票

您可以使用 html.escape 代替 cgi.escape。 它对我有用


4
投票

我已将

supervisor
软件包版本更新为:
supervisor==4.1.0

https://pypi.org/project/supervisor/4.1.0/

[修复了因删除 cgi.escape() 导致的 Python 3.8 兼容性问题。 Mattia Procopio 的补丁。]

问题解决了。


0
投票

对于我来说,升级

nltk
软件包解决了问题,尝试使用最新版本的
nltk
来检查,请访问此链接

升级

nltk

pip install --upgrade pip
pip install --upgrade nltk
© www.soinside.com 2019 - 2024. All rights reserved.