为了处理不同版本的Python问题,我已经使用macport安装了python27,后来py27-pip,并执行
sudo port install python27
sudo port install py27-pip
sudo port select --set pip pip27
sudo port select --set python python27
后来我试图用pip来安装一些软件包。 pip仍然是指Mac python而不是端口python。我想'哪个'命令应该指向正确的pip版本。但结果是
$which pip
/opt/local/bin/pip
$pip --version
pip 7.1.2 from /Library/Python/2.7/site-packages (python 2.7)
$/opt/local/bin/pip --version
pip 7.1.2 from /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (python 2.7)
任何人都可以帮忙指出为什么'哪个'不在这里工作?谢谢。
答案 0 :(得分:2)
which
工作得很好。但which
并不能反映您的shell查找缓存。
每当你第一次在bash中运行没有路径的命令时,bash会缓存which
调用的结果。然后使用该命令不必再次在PATH
中找到该命令。
您在运行pip
之前可能已经运行sudo port select --set pip pip27
,而bash仍然会缓存旧路径。
运行hash -d pip
以从缓存中清除该条目,或运行hash -r
以完全清除缓存。