Python Can't Find Module Nltk

Python Can't Find Module Nltk

I followed these instructions to install nltk module on my mac (10.6) I have installed python 2.7, but when I open IDLE and type import nltk it gives me this error

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import nltk
ImportError: No module named nltk

The problem is the module is installed in another python version, 2.6. How can I install the package in python version 2.7? I tried some of the solutions suggested in various answers, for example I tried typing this in the terminal

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages

and then installed NLTK again with the command

sudo pip install -U nltk

but I get the message: Requirement already up-to-date in /Library/Python/2.6/. So apparently the command line export PYTHONPATH didn't do anything (it still tries to install the package in 2.6) OR (more likely) I didn't understand the meaning/functioning of that command line. What am I doing wrong?

2

9 Answers

On OS X you could have multiple installation of Python, so investigate it first:

$ which python python2 python3
/usr/bin/python
/usr/local/bin/python3

$ which pip pip2 pip3
/usr/local/bin/pip
/usr/local/bin/pip2
/usr/local/bin/pip3

All within /usr/bin are built-in and all other in /usr/local/bin are external installed by Homebrew or some other package manager.

If you're using pip or pip3 from /usr/local, then you've to use the same Python instance, otherwise they're different instances.

Just install it via pip:

pip install nltk

or for Python 3:

pip3 install nltk

then run the right Python instance from /usr/local/bin or update your PATH system variable.

Make sure you install the actual Python for Mac, not the one built into the console. Then, install pip by executing this script. Then skip to part 3 of the instructions and go from there.

Try this

pip install --user -U nltk

In my case, the following command worked for me. Try this!!

py -3 -m pip install nltk

On my mac I had two different versions of Python 3 installed: Python 3.6 and Python 3.7. I had installed nltk having Python 3.7 in my $PATH:

$ pip3 install nltk
$ which python3
/Library/Frameworks/
$ echo $PATH
/Library/Frameworks/

But nltk was missing for Python 3.6. Solution: install nltk also for version 3.6.

$ echo $PATH
/Library/Frameworks/
$ pip3 install nltk
Collecting nltk
  Using cached 
Requirement already satisfied: six in /Library/Frameworks/ (from nltk) (1.12.0)
Collecting singledispatch (from nltk)
  Using cached 
Installing collected packages: singledispatch, nltk
  Running setup.py install for nltk ... done
Successfully installed nltk-3.4 singledispatch-3.4.0.3

I would use a virtualenv, but if you really want to use it from the terminal, I'd recommend adding your export statement to ~/.bashrc

Just restart Jupyter Notebook or anything you are using after installing... It works...

I had a similar issue an an Intel MacBook.

Fixed with

  1. Make sure the python bin directory in the path
    • mine is /Users/<user>/Library/Python/3.9/bin
  2. Restart the computer

NOTE that just restarting the terminal did NOT help

VERY chaotic this post. Let´s start by clearing some key points:

  • OSX is 10.6 which means Python v2.71 (from Nov 2010)
  • here is the installer, just in case: Python v271 1:
  • NLTK requires Python versions 3.7, 3.8, 3.9, 3.10 or 3.11 Check this out: Installing Python 311 on OSX

Hope this helps!

LAO

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Robert Thorne
Author

Robert Thorne

Robert Thorne covers electric vehicle innovations, autonomous driving systems, global mobility trends, and automotive engineering developments.