我已经查看了很多关于这个主题的其他问题/答案,但没有用。
我使用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
错误。任何建议将不胜感激!
答案 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
,因此您有以下选项:
删除nltk
并在其中一个目录路径中重新安装(注意,例如在Debian上,它可能是/usr/local/lib/python2.7/dist-packages
。
在每次运行中,设置PYTHONPATH变量:export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/site-packages
(您可以将此命令放在$HOME/.bashrc
文件中。
将文件local.pth
放入/usr/lib/python2.7/site-packages
或/usr/lib/python2.7/dist-packages
(取决于上面脚本的输出),其中包含一行:
/usr/local/lib/python2.7/site-packages
这会将此目录永久添加到默认路径列表中。
(建议只在某些奇怪的位置安装一些很少使用的非标准软件包,这可能不是你的情况)在脚本的开头(import nltk
之前)添加以下代码:
import sys
sys.path.append("/usr/local/lib/python2.7/site-packages")