【问题标题】:ClobberError when trying to install the nltk_data package using conda?尝试使用 conda 安装 nltk_data 包时出现 ClobberError?
【发布时间】:2018-12-24 07:33:00
【问题描述】:

我正在尝试通过提供以下命令,使用 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.x anaconda nltk


【解决方案1】:

nltk_data repository 是 zip 文件和 xml 元数据的集合。通常不是通过condapip等打包工具安装。

但是conda-forge 提供的这个实用程序会尝试安装nltk_datahttps://github.com/conda-forge/nltk_data-feedstock

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

conda config --add channels conda-forge

那么您不需要-c 选项,只需使用:

conda install nltk_data

请尝试上述方法,看看是否可以消除 ClobberError。


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

Please use the NLTK Downloader to obtain the resource:

>>> import nltk
>>> nltk.download('punkt')

运行nltk.download() 而不指定您要下载的特定数据集将调用一个 tkinter GUI,如果您在没有 GUI 的情况下远程访问您的机器,这通常是不可能的。

如果您不确定自己需要哪种资源,我建议您使用popular 集合。

import nltk
nltk.download('popular')

【讨论】:

    【解决方案2】:

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

    import nltk_data
    

    应该是

    import nltk.data
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-15
      • 2021-11-25
      • 1970-01-01
      • 2023-02-24
      • 2017-11-18
      • 1970-01-01
      • 2021-02-20
      相关资源
      最近更新 更多