Nano Hash - криптовалюты, майнинг, программирование

Python 3.5: URL-адрес загрузки NLTK по умолчанию не изменится

Я обновил DEFAULT_URL в downloader.py, но по-прежнему получаю следующую ошибку. Первоначально я пробовал только nltk.downloader(), и браузер файлов обновлялся, но когда я пытался загрузить, он все равно возвращался на сайт github.

DEFAULT_URL = 'http://nltk.org/nltk_data/'

.

import nltk
nltk.set_proxy('proxyaddress',user=None)
dl = nltk.downloader.Downloader("http://nltk.org/nltk_data/")
dl.download('all')

[nltk_data] Downloading collection 'all'
[nltk_data]    |
[nltk_data]    | Downloading package abc to C:\nltk_data...
[nltk_data]    | Error downloading 'abc' from
[nltk_data]    |     <https://raw.githubusercontent.com/nltk/nltk_data
[nltk_data]    |     /gh-pages/packages/corpora/abc.zip>:   <urlopen
[nltk_data]    |     error [Errno 11004] getaddrinfo failed>

Почему по умолчанию по-прежнему используется raw.githubusercontent.com/nltk/nltk_data?

04.10.2016

  • Нет необходимости переопределять DEFAULT_URL. Он игнорируется, когда вы инициализируете загрузчик своим собственным URL-адресом, как вы это делаете. Во всяком случае, я не могу воспроизвести вашу проблему: у меня она работает так, как ожидалось. Может ли ваш прокси быть причиной проблемы? 05.10.2016
  • @alexis это был мой прокси. Я попробовал еще раз, когда я вышел из своего офиса, и это сработало нормально. Я использовал один и тот же прокси во многих других ситуациях, поэтому мне любопытно, работает ли функция set_proxy не совсем правильно. 05.10.2016
  • set_proxy просто вызывает urllib.request.build_opener и install_opener, которые изменяют обработку URL. Проблема должна исходить от вашего прокси. 05.10.2016
  • Я использовал pip install --proxy=example.com:83 имя пакета бесчисленное количество раз. Почему это работает, но не для nltk? 05.10.2016
  • Я понятия не имею. Я могу только предполагать, что это как-то связано с кешированием прокси. Или, может быть, это не прокси, а логическая ошибка в части вашего кода, которая не попала в фрагмент вашего вопроса (если прокси задан условно, есть место для ошибок). 05.10.2016

Ответы:


1

Проблема исходит от вашего прокси. Я не могу сказать, что не так с вашей конфигурацией прокси-сервера, но инициализация загрузчика с пользовательским URL-адресом загрузки работает так, как предполагалось (нет необходимости изменять источник nltk в nltk/downloader.py):

dl = nltk.downloader.Downloader("http://example.com/my_corpus_data/index.xml")

Обратите внимание, что пользовательский URL-адрес должен разрешаться в XML-документ, описывающий загружаемые ресурсы, в формате, ожидаемом nltk; код в вашем вопросе указывает на удобочитаемый список в http://nltk.org/nltk_data, что просто приведет к ошибке. (Предположительно, ваш реальный код использует другой URL-адрес и другой код для настроек прокси.)

В любом случае проблема должна быть в вашем прокси или в том, как вы его используете. Функция set_proxy nltk просто вызывает пару функций из urllib.request для объявления прокси. Он никогда не приближается к модулю downloader nltk, поэтому он никак не может повлиять на настройки загрузчика по умолчанию.

05.10.2016
  • Я согласен, что это мой прокси, так как, как только я покинул эту среду, он заработал. Однако меня смущает, как другие утилиты, такие как R, клиент CPAN, pip и некоторые другие, работают с одним и тем же адресом прокси: порт. 05.10.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..