user288609
user288609

Reputation: 13035

downloading error using nltk.download()

I am experimenting NLTK package using Python. I tried to downloaded NLTK using nltk.download(). I got this kind of error message. How to solve this problem? Thanks.

The system I used is Ubuntu installed under VMware. The IDE is Spyder.

enter image description here

After using nltk.download('all'), it can download some packages, but it gets error message when downloading oanc_masc

enter image description here

Upvotes: 24

Views: 91639

Answers (10)

Mediaveteran
Mediaveteran

Reputation: 1

For me, using Ubuntu 23.04, nltk wouldn’t even import at a prompt. The fix was creating an environment variable NLTK_DATA and setting it equal to ‘/home/{username}/nltk_data’ which I created as an empty folder. After that it loaded and ran without issue.

I edited /etc/environment and added a line:

NLTK_DATA=“/home/myusername/nltk_data”

Then logged out/in to set the variable.

Upvotes: 0

Prasant kumar
Prasant kumar

Reputation: 65

Download link for NLTK is broken and throws a connection error

Download the files manually using the following steps

unzip gh-pages.zip
mkdir ~/nltk_data
mv nltk_data-gh-pages/nltk_data-gh-pages/packages/* nltk_data/
cd nltk_data/tokenizers/
unzip punkt.zip```

Upvotes: 0

Mohammed H
Mohammed H

Reputation: 7048

I tried to install the data via commandline in my Ubuntu machine:

nlp$ python -m nltk.downloader all
/usr/lib/python3.10/runpy.py:126: RuntimeWarning: 'nltk.downloader' found in sys.modules after import of package 'nltk', but prior to execution of 'nltk.downloader'; this may result in unpredictable behaviour
  warn(RuntimeWarning(msg))
[nltk_data] Error loading all: <urlopen error [Errno 104] Connection
[nltk_data]     reset by peer>
Error installing package. Retry? [n/y/e]

Then tried manual installation:

  1. mkdir /usr/local/share/nltk_data
  2. cd /usr/local/share/nltk_data
  3. mkdir tokenizers # Other folders: chunkers, grammars, misc, sentiment, taggers, corpora, help, models, stemmers
  4. cd tokenizers # I want to download a tokenizer
  5. wget [http://URL/punkt.zip] # go to NLTK Corpora and get the data URL you want.
  6. unzip punkt.zip
  7. # rm punkt.zip

I got an error Unable to establish SSL connection with https, so I went with http.

Upvotes: 0

Manav Yadav
Manav Yadav

Reputation: 11

Try using a VPN it worked for me.

Upvotes: 1

vijay mitta
vijay mitta

Reputation: 1

First download it manually from https://www.nltk.org/nltk_data/ using an id and use a vpn for download and save it in, as shown path in error and then append /nltk_data/corpora folder and save your downloaded file in unzip format, then turn off VPN and again run same code, it works.

Upvotes: 0

Hyperion
Hyperion

Reputation: 21

An easy(hard) way to get over this error is to do the process manually. Just go to the website https://www.nltk.org/nltk_data/ and download the required zip file and extract the contents.

In Windows, go to user/AppData/local/Programs/Python/Python(version)/lib and create a folder nltk_data. Then create the respective folder. As an example, for 'punkt' create the folder tokenizers and add the folder 'punkt' inside the extracted folder to it. This info is mostly given by the terminal itself.

Run your program. Cheers!

EDIT 1: Of course, downloading all files can be time-consuming, but it's the only option if the "urlopen error" persists.

EDIT 2 It is also mostly your router or network at fault that you are not able to download nltk files. Try changing your network and that should help.

Upvotes: 1

Alexandre
Alexandre

Reputation: 11

a) in OSX either run

sudo /Applications/Python\ 3.6/Install\ Certificates.command

b) switch to admin user (the one you have set up with administrator privileges)

and type at command line:

/Applications/Python\ 3.6/Install\ Certificates.command

Notes:

  • "\" are necessary because they escape blank characters in file names.
  • This procedure worked if you have python 3.6 installed, otherwise change it in order to match your install python version... for this execute:

ls /Applications

and look at the python directory name you have there.

Upvotes: 1

I had this error:

Resource punkt not found. Please use the NLTK Downloader to obtain the resource: import nltk nltk.download('punkt')

When I tried to solve by writing:

import nltk

nltk.download()

my computer shut downs suddenly and anaconda also closed. When I try to open it always shows an error.

I solved the problem by writing:

import nltk

nltk.download('punkt')

Upvotes: -3

tolgayilmaz
tolgayilmaz

Reputation: 4185

From command line, after importing nltk, try

nltk.download('popular', halt_on_error=False)

After an error it will ask to retry broken package, just decline with n and it will continue with proper packages.

Upvotes: 8

alvas
alvas

Reputation: 122142

To download a particular dataset/models, use the nltk.download() function, e.g. if you are looking to download the punkt sentence tokenizer, use:

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

If you're unsure of which data/model you need, you can start out with the basic list of data + models with:

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

It will download a list of "popular" resources.

Ensure that you've the latest version of NLTK because it's always improving and constantly maintain:

$ pip install --upgrade nltk

EDITED

In case anyone is avoiding errors from downloading larger datasets from nltk, from https://stackoverflow.com/a/38135306/610569

$ 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')

And if anyone wants to find nltk_data directory, see https://stackoverflow.com/a/36383314/610569

And to config nltk_data path, see https://stackoverflow.com/a/22987374/610569

Upvotes: 22

Related Questions