我正在使用 Python 试验 NLTK 包。我尝试使用
nltk.download()
下载 NLTK。我收到这样的错误消息。如何解决这个问题呢?谢谢。
我使用的系统是VMware下安装的Ubuntu。 IDE 是 Spyder。
使用
nltk.download('all')
后,可以下载一些包,但是下载时出现错误信息oanc_masc
要下载特定的数据集/模型,请使用
nltk.download()
函数,例如如果您想下载 punkt
句子标记器,请使用:
$ python3
>>> import nltk
>>> nltk.download('punkt')
如果您不确定需要哪个数据/模型,您可以从数据+模型的基本列表开始:
>>> import nltk
>>> nltk.download('popular')
它将下载“热门”资源列表。
确保您拥有最新版本的
NLTK
,因为它一直在改进并不断维护:
$ pip install --upgrade nltk
如果有人避免从
nltk
下载更大的数据集时出现错误,来自 https://stackoverflow.com/a/38135306/610569
$ rm /Users/<your_username>/nltk_data/corpora/panlex_lite.zip
$ rm -r /Users/<your_username>/nltk_data/corpora/panlex_lite
$ python
>>> import nltk
>>> dler = nltk.downloader.Downloader()
>>> dler._update_index()
>>> dler._status_cache['panlex_lite'] = 'installed' # Trick the index to treat panlex_lite as it's already installed.
>>> dler.download('popular')
如果有人想找到
nltk_data
目录,请参阅 https://stackoverflow.com/a/36383314/610569
要配置
nltk_data
路径,请参阅https://stackoverflow.com/a/22987374/610569
从命令行,导入nltk后,尝试
nltk.download('popular', halt_on_error=False)
出现错误后,它会要求重试损坏的包,只需使用 n 拒绝,它将继续使用正确的包。
a) 在 OSX 中运行
sudo /Applications/Python\ 3.6/Install\ Certificates.command
b) 切换到管理员用户(您设置为具有管理员权限的用户)
并在命令行中输入:
/Applications/Python\ 3.6/Install\ Certificates.command
备注:
ls /Applications
然后查看那里的 python 目录名称。
克服此错误的一个简单(困难)方法是手动执行该过程。只需访问网站
https://www.nltk.org/nltk_data/
并下载所需的 zip 文件并解压内容即可。
在 Windows 中,转到
user/AppData/local/Programs/Python/Python(version)/lib
并创建一个文件夹 nltk_data。然后创建相应的文件夹。例如,对于“punkt”,创建文件夹 tokenizers
并将提取的文件夹内的文件夹“punkt”添加到其中。这些信息主要由终端本身提供。
运行你的程序。干杯!
编辑1:当然,下载所有文件可能很耗时,但如果“urlopen错误”仍然存在,这是唯一的选择。
编辑2 您无法下载nltk文件也主要是您的路由器或网络出现故障。尝试更改您的网络,这应该会有所帮助。
首先使用 id 从
https://www.nltk.org/nltk_data/
手动下载,然后使用 VPN 下载并保存,如图所示路径错误,然后附加 /nltk_data/corpora
文件夹并以解压格式保存下载的文件,然后关闭 VPN 并再次运行相同的代码,它可以工作。
尝试使用对我有用的 VPN。
我遇到了这个错误:
Resource punkt not found. Please use the NLTK Downloader to obtain the resource: import nltk nltk.download('punkt')
当我尝试通过写作来解决时:
import nltk
nltk.download()
我的电脑突然关闭,anaconda 也关闭了。当我尝试打开它时总是显示错误。
我通过写解决了这个问题:
import nltk
nltk.download('punkt')