尝试使用conda安装nltk_data软件包时出现ClobberError吗?

时间:2018-12-24 07:33:00

标签: python-3.x anaconda nltk

我试图通过使用以下命令使用conda将nltk_data软件包安装到我的环境natlang:

(natlang) C:\Users\asus>conda install -c conda-forge nltk_data

我收到以下错误:

Verifying transaction: failed

CondaVerificationError: The package for nltk_data located at 
C:\Users\asus\Anaconda3\pkgs\nltk_data-2017.10.22-py_0
appears to be corrupted. The path 
'lib/nltk_data/corpora/propbank/frames/con.xml'
specified in the package manifest cannot be found.

ClobberError: This transaction has incompatible packages due to a shared 
path.
packages: conda-forge::nltk_data-2017.10.22-py_0, conda-forge::nltk_data- 
2017.10.22-py_0
path: 'lib/nltk_data/corpora/nombank.1.0/readme'


ClobberError: This transaction has incompatible packages due to a shared 
path.
packages: conda-forge::nltk_data-2017.10.22-py_0, conda-forge::nltk_data- 
2017.10.22-py_0
path: 'lib/nltk_data/corpora/nombank.1.0/readme-dictionaries'


ClobberError: This transaction has incompatible packages due to a shared 
path.
packages: conda-forge::nltk_data-2017.10.22-py_0, conda-forge::nltk_data- 
2017.10.22-py_0
path: 'lib/nltk_data/corpora/nombank.1.0/readme-nombank-proposition- 
structure'

我正在使用Anaconda 3,python版本3.6.5,Windows 10企业版。 有人可以告诉我为什么会发生此错误,以及如何解决它。

背景:我本来想使用代码行在我的一个程序中使用punkt:

import nltk_data
nltk.download()

这将打开nltk下载器,并在安装了所有软件包(包括punkt)之后,在进一步运行该程序时,我仍然会遇到以下错误:

 LookupError:
 Resource [93mpunkt[0m not found.
 Please use the NLTK Downloader to obtain the resource:

 [31m>>> import nltk
 >>> nltk.download('punkt')

我尝试重新运行nltk.donwload()和nltk.download('punkt')几次,没有任何变化。因此,我决定根据以下假设将nltk_data软件包安装到我的环境中:如果我将软件包安装到env本身,则不必使用nltk.download函数来使用punkt。

总结一下,我有以下两个问题:

  1. 如果我将nltk_data软件包安装到evn中,是否还需要在代码中使用nltk.download函数?如果是,该如何解决查找错误?
  2. 如果安装到evn足够了,那么我该如何解决clobber错误?

(ps:我很抱歉这听起来很愚蠢,对于机器学习和使用python来说我是一个新手。)

2 个答案:

答案 0 :(得分:0)

首先回答2个问题-所有Windows机器上都存在类似的问题。如果要使用punkt或类似的模块,最好使用ntlk.download()函数。 1)查找错误很容易解决。是因为有错字。代替

import nltk_data

应该是

import nltk.data

答案 1 :(得分:0)

nltk_data repository是zip文件和xml元数据的集合。通常,它不是通过<ion-searchbar #searchbar placeholder={{placeholderText}} [(ngModel)]="autoCompleteInput" [disabled]="disabled" (ionInput)="autoCompleteLookup()" (ionClear)="onSearchBarCleared($event)"> </ion-searchbar> <ion-list class="autocomplete-result-list" [hidden]="autoCompleteResults.length === 0"> <ion-item *ngFor="let autoCompleteResult of autoCompleteResults" tappable (click)="handleAutoCompleteResultClicked(autoCompleteResult)"> {{autoCompleteResult.label}} </ion-item> </ion-list> conda之类的打包工具进行安装。

但是pip中有一个实用程序尝试安装conda-forgehttps://github.com/conda-forge/nltk_data-feedstock

要使用它,请在终端/命令提示符/控制台上,首先添加nltk_data频道:

conda-forge

那么您不需要conda config --add channels conda-forge 选项,只需使用:

-c

请尝试以上操作,看看是否可以摆脱ClobberError。


此错误要求您下载特定的nltk数据集调用conda install nltk_data

punkt

在未指定要下载的特定数据集的情况下运行Please use the NLTK Downloader to obtain the resource: >>> import nltk >>> nltk.download('punkt') 将调用tkinter GUI,如果没有GUI远程访问计算机,通常将无法实现。

如果不确定所需的资源,建议您使用nltk.download()集合。

popular