我使用mrjob
安装了一个名为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
中。所以我使用export PATH=/lib/python2.7/site-packages:$PATH
将新文件夹添加到我的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
。但我仍然不明白发生了什么。
答案 0 :(得分:1)
我也遇到了这个问题。导致python使用系统预安装python
/Libarary/Python
但是这个没有点子的蟒蛇。当我安装pip时,它将安装在
/usr/local/Libarary/Python
我的解决方案是系统的安装点:
sudo easy_install -U pip