0

我安装了一个名为mrjobusing的模块sudo pip install mrjob。当我启动 python 并尝试导入它时,我得到ImportError: No module named mrjob.

使用iname,我发现它mrjob安装在 中/lib/python2.7/site-packages/,而我所有的 Python 模块都在/usr/local/lib/python2.7/site-packages. 所以我将新文件夹添加到我的 PATH 中export PATH=/lib/python2.7/site-packages:$PATH

但即使在我这样做之后,我仍然得到ImportError. 如果我cd/lib/python2.7/site-packages/那里启动 python,它会正确导入模块。

我还尝试卸载模块:

> sudo pip uninstall mrjob
Password:
Cannot uninstall requirement mrjob, not installed

如果我做:

>>> import site; site.getsitepackages()
['/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages', '/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/site-python', '/Library/Python/2.7/site-packages']

文件夹/lib/python2.7/site-packages/不存在。

== 更新 ==

以下命令有效

pip install --install-option="--prefix=/usr/local" mrjob

我现在可以mrjob正确导入。但我仍然不明白发生了什么。

4

1 回答 1

1

我也遇到了这个问题。导致python使用系统预装python在

/Libarary/Python

但是这个python没有pip。当我安装 pip 时,它将安装在

/usr/local/Libarary/Python

我的解决方案是通过以下方式为系统安装 pip:

sudo easy_install -U pip
于 2014-02-16T08:10:30.537 回答