导入库问题 - “ImportError:没有名为____的模块”

时间:2013-01-14 02:23:16

标签: python numpy libraries pip nltk

我已经查看了很多关于这个主题的其他问题/答案,但没有用。

我使用pip下载了numpy和nltk,根据我知道安装位置的消息:     Requirement already satisfied (use --upgrade to upgrade): nltk in /usr/local/lib/python2.7/site-packages,所以它看起来像是在2.7版的目录中安装。

当我运行python时,我得到Python 2.7.3 (v2.7.3:70274d53c1dd, Apr 9 2012, 20:52:43),因此显然也是版本2.7。

但是,当我在Python控制台中尝试“import nltk”或“import numpy”时,我总是遇到ImportError: No module named nltk错误。任何建议将不胜感激!

2 个答案:

答案 0 :(得分:18)

尝试更改PYTHONPATH环境变量。如果您使用BASH,以下应该可以使用。其他Linux shell在分配环境变量方面会略有不同。

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

答案 1 :(得分:9)

问题是/usr/local/lib/python2.7/site-packages不在您的默认路径列表中。要验证这一点,请运行以下命令:

import sys
for pth in sys.path:
    print pth

您将获得搜索模块的目录列表。由于您可能在列表中没有/usr/local/lib/python2.7/site-packages,因此您有以下选项:

  1. 删除nltk并在其中一个目录路径中重新安装(注意,例如在Debian上,它可能是/usr/local/lib/python2.7/dist-packages

  2. 在每次运行中,设置PYTHONPATH变量:export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages(您可以将此命令放在$HOME/.bashrc文件中。

  3. 将文件local.pth放入/usr/lib/python2.7/site-packages/usr/lib/python2.7/dist-packages(取决于上面脚本的输出),其中包含一行:

    /usr/local/lib/python2.7/site-packages
    

    这会将此目录永久添加到默认路径列表中。

  4. (建议只在某些奇怪的位置安装一些很少使用的非标准软件包,这可能不是你的情况)在脚本的开头(import nltk之前)添加以下代码:

    import sys
    sys.path.append("/usr/local/lib/python2.7/site-packages")