В дополнение к уже упомянутому параметру командной строки вы можете программно установить данные NLTK в сценарии Python, добавив аргумент в функцию download()
.
См. Текст help(nltk.download)
, а именно:
Individual packages can be downloaded by calling the ``download()``
function with a single argument, giving the package identifier for the
package that should be downloaded:
>>> download('treebank') # doctest: +SKIP
[nltk_data] Downloading package 'treebank'...
[nltk_data] Unzipping corpora/treebank.zip.
Я могу подтвердить, что это работает для загрузки одного пакета за раз, или когда передано list
или tuple
.
>>> import nltk
>>> nltk.download('wordnet')
[nltk_data] Downloading package 'wordnet' to
[nltk_data] C:\Users\_my-username_\AppData\Roaming\nltk_data...
[nltk_data] Unzipping corpora\wordnet.zip.
True
Вы также можете попробовать загрузить уже загруженный пакет без проблем:
>>> nltk.download('wordnet')
[nltk_data] Downloading package 'wordnet' to
[nltk_data] C:\Users\_my-username_\AppData\Roaming\nltk_data...
[nltk_data] Package wordnet is already up-to-date!
True
Кроме того, похоже, что функция возвращает логическое значение, которое вы можете использовать для проверки успешности загрузки:
>>> nltk.download('not-a-real-name')
[nltk_data] Error loading not-a-real-name: Package 'not-a-real-name'
[nltk_data] not found in index
False