导入nltk的重复出现的问题

时间:2014-12-28 20:03:26

标签: python nltk

我尝试了以下内容:

安装Setuptools:http://pypi.python.org/pypi/setuptools

安装Pip:easy_install pip

安装Numpy(可选):pip install -U numpy

安装NLTK:pip install -U nltk

当我通过运行python然后'import nltk'来测试安装时,我收到以下错误:

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

当我检查是否通过运行

安装了nltk
pip search nltk

我得到以下内容,建议我安装它:

nltk                      - Natural Language Toolkit
  INSTALLED: 3.0.0 (latest)
metanl                    - Multilingual natural language tools, wrapping NLTK
                        and other systems.
wordgrapher               - Word Graph utility built with NLTK and TextBlob
bluestocking              - An information extraction toolkit built on top of
                            NLTK.
SloPOS                    - Part of speech tagger for Slovenian (SI) language
                            based on NLTK
estnltk                   - Open source tools for Estonian natural language
                            processing

问题是什么?如何解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:1)

在终端输入python时运行的python版本是python.org的版本,而pip使用的是Homebrew的Python版本。您需要修改~/.bashrc~/.profile以更改路径的顺序,以便改为运行Homebrew的Python。

要执行此操作,请打开终端并输入

ls -al

并检查输出以查看是否存在.bashrc和/或.profile。接下来,使用cat检查每个文件的内容,查找以export PATH=...开头的行的存在。如果只存在一个文件,或者两个文件都存在且只有一个文件定义PATH,则在您喜欢的编辑器中打开该文件。在最后一行,输入以下内容:

export PATH=/usr/local/bin:$PATH

保存文件,完全关闭终端,然后重新打开。如果一切按预期工作,which python现在应该返回/usr/local/bin/python。您现在可以运行python,并在解释器中运行命令

>>> import nltk

应导入模块,没有错误。


修改

将python.org版本的Python设置为默认值更容易,因为它已经在PATH中。您正在使用的pip版本已过时并已安装用于Homebrew,因此我们需要安装新版本。首先,我们会更改您的安装权限,因此您每次运行sudo时都不需要使用pip。为此,请运行

sudo chown -R $USER /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
sudo chown -R $USER /Library/Frameworks/Python.framework/Versions/2.7/bin

这允许pipsite-packages中安装模块,在bin目录中安装脚本。

接下来,我们将您的Homebrew site-packages目录的内容复制到python.org site-packages目录,这样您就可以使用已经安装的模块{{ 1}}。为此,请运行

pip

最后,下载get-pip.py,切换到您下载的目录,然后运行cp -R /usr/local/Cellar/python/2.7.8/Frameworks/Python.framework/Versions/2.7/lib/pyth‌​on2.7/site-packages/* /Library/Frameworks/Python.framework/Versions/2.7/lib/pyth‌​on2.7/site-packages (这假设您避免更改了您的{{1}按照上面的说明)。这将设置当前版本的python get-pip.py(在撰写本文时为6.0.3),以便与python.org Python一起使用。您现在可以运行PATH来安装软件包。

答案 1 :(得分:0)

使用Anaconda的Python分发可以为您节省很多麻烦,正如我在之前对相关问题的回答中所建议的那样:https://stackoverflow.com/a/27572421/4067134

  

你可能想尝试免费的Anaconda Python发行版。 NLTK预装在Anaconda中,还有许多其他流行的数据分析软件包等。它比安装和安装更容易。分别管理数百个单独的包。

     

https://store.continuum.io/cshop/anaconda/