ClobberError при попытке установить пакет nltk_data с помощью conda? - PullRequest
0 голосов
/ 24 декабря 2018

Я пытаюсь установить пакет nltk_data в мою среду natlang, используя conda, введя следующую команду:

(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'

Я работаю надАнаконда 3, Python версия 3.6.5, Windows 10 Enterprise.Может кто-нибудь, пожалуйста, скажите мне, почему эта ошибка происходит и как я могу ее исправить.

Справочная информация: я изначально хотел использовать 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(«пункт») пару раз без изменений.Тогда я решил просто установить пакет nltk_data в свою среду, исходя из предположения, что если я установлю пакет в сам env, мне не придется использовать функцию nltk.download для использования punkt.

Подводя итог, у меня есть два следующих вопроса:

  1. Если я установлю пакет nltk_data на свой evn, нужно ли мне по-прежнему использовать функцию nltk.download в своем коде?Если да, как я могу устранить ошибку поиска?
  2. Если установки на evn достаточно, то как я могу устранить ошибку clobber?

(ps: прошу прощения, если этозвучит глупо, я очень плохо знаком с машинным обучением и вообще работаю с python.)

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Репозиторий nltk_data представляет собой набор zip-файлов и метаданных XML.Обычно это не установка через упаковочные инструменты, такие как conda или pip.

Но есть эта утилита из conda-forge, которая пытается установить nltk_data, https://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, который, как правило, был бы невозможен, если вы обращаетесь к своей машине удаленно без графического интерфейса.

Если вы не уверены, какой ресурс вам нужен, я бы предложил использовать коллекцию popular.

import nltk
nltk.download('popular')
0 голосов
/ 24 декабря 2018

Отвечая сначала на 2 очереди, - были похожие проблемы на всех компьютерах с Windows.Лучше использовать функцию ntlk.download (), если вы хотите использовать пункт или подобный модуль.1) Ошибка поиска может быть легко устранена.Это было из-за опечатки.Вместо

import nltk_data

должно быть

import nltk.data
...