首页 > 解决方案 > 尝试使用 conda 安装 nltk_data 包时出现 ClobberError?

问题描述

我正在尝试通过提供以下命令,使用 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 非常陌生。)

标签: python-3.xanacondanltk

解决方案


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

import nltk_data

它应该是

import nltk.data

推荐阅读