Ошибка загрузки с использованием nltk.download()
Я экспериментирую с пакетом NLTK, используя Python. Я пытался скачать NLTK с помощью nltk.download()
, Я получил такого рода сообщение об ошибке. Как решить эту проблему? Благодарю.
Система, которую я использовал, - Ubuntu, установленная под VMware. IDE является Spyder.
После использования nltk.download('all')
, он может загрузить некоторые пакеты, но он получает сообщение об ошибке при загрузке oanc_masc
7 ответов
Чтобы загрузить определенный набор данных / модели, используйте nltk.download()
функция, например, если вы хотите загрузить punkt
токенизатор предложений, используйте:
$ python3
>>> import nltk
>>> nltk.download('punkt')
Если вы не уверены, какие данные / модель вам нужны, вы можете начать с базового списка моделей данных +:
>>> import nltk
>>> nltk.download('popular')
Будет загружен список "популярных" ресурсов.
Убедитесь, что у вас последняя версия NLTK
потому что это всегда улучшается и постоянно поддерживается:
$ pip install --upgrade nltk
РЕДАКТИРОВАНИЕ
Если кто-то избегает ошибок при загрузке больших наборов данных из nltk
от /questions/1726885/nltk-panlexlite-daet-mne-oshibku/1726896#1726896
$ 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
каталог, см. /questions/20953235/nltk-ne-dobavlyaet-nltkdata-k-puti-poiska/20953249#20953249
И конфиг nltk_data
путь, см. /questions/2841557/kak-nastroit-katalog-dannyih-nltk-iz-koda/2841579#2841579
Из командной строки, после импорта nltk, попробуйте
nltk.download('popular', halt_on_error=False)
После ошибки он попросит повторить поврежденный пакет, просто отклоните его и продолжите с правильными пакетами.
Простой (сложный) способ обойти эту ошибку — выполнить этот процесс вручную. Просто зайдите на сайтhttps://www.nltk.org/nltk_data/
и загрузите необходимый zip-файл и извлеките содержимое.
В Windows перейдите кuser/AppData/local/Programs/Python/Python(version)/lib
и создайте папку nltk_data. Затем создайте соответствующую папку. Например, для «пункта» создайте папкуtokenizers
и добавьте к нему папку «punkt» внутри извлеченной папки. Эта информация в основном предоставляется самим терминалом.
Запустите вашу программу. Ваше здоровье!
РЕДАКТИРОВАТЬ 1: Конечно, загрузка всех файлов может занять много времени, но это единственный вариант, если «ошибка urlopen» сохраняется.
РЕДАКТИРОВАТЬ 2 В основном виноват ваш маршрутизатор или сеть, что вы не можете загружать файлы nltk. Попробуйте сменить сеть, должно помочь.
А ) в OSX либо запустите
sudo /Applications/Python\ 3.6/Install\ Certificates.command
б) переключитесь на пользователя с правами администратора (того, который вы установили с правами администратора)
и введите в командной строке:
/Applications/Python\ 3.6/Install\ Certificates.command
Заметки:
- Символы "\" необходимы, потому что они экранируют пустые символы в именах файлов.
- Эта процедура работала, если у вас установлен python 3.6, в противном случае измените его, чтобы он соответствовал вашей установленной версии python... для этого выполните:
ls /Applications
и посмотрите на имя каталога python, которое у вас там есть.
Сначала загрузите его вручную сhttps://www.nltk.org/nltk_data/
используя идентификатор, используйте VPN для загрузки и сохраните его, как показано в ошибке, а затем добавьте/nltk_data/corpora
папку и сохраните загруженный файл в разархивированном формате, затем отключите VPN и снова запустите тот же код, все работает.
У меня была такая ошибка:
Resource punkt not found. Please use the NLTK Downloader to obtain the resource: import nltk nltk.download('punkt')
Когда я попытался решить, написав:
import nltk
nltk.download()
мой компьютер внезапно выключился, и анаконда тоже закрылась. Когда я пытаюсь открыть, всегда выдает ошибку.
Решил проблему написав:
import nltk
nltk.download('punkt')