2015-11-13 5 views
1

Для обработки различных версий выпуска Python, я установил python27 с помощью macport, позже PY27-пип, и выполнитьOsx «который» команда работает странно

sudo port install python27 
sudo port install py27-pip 
sudo port select --set pip pip27 
sudo port select --set python python27 

Позже я пытался использовать пип установить некоторые пакеты. 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) 

Может кто-нибудь помочь указать, почему «который» здесь не работает? Спасибо.

+1

Что происходит, когда вы запускаете 'hash -r', а затем' pip -version' снова? –

ответ

2

which работает нормально. Но which не отражает ваш кеш-файл для поиска.

Всякий раз, когда вы запускаете команду без пути в bash в первый раз, bash кэширует результат вызова which. Последующее использование этой команды не должно снова найти команду в вашем PATH.

Возможно, вы запустили pip, прежде чем вы запустили sudo port select --set pip pip27, и у bash все еще есть старый путь.

Запустите hash -d pip, чтобы очистить эту запись от кеша или запустить hash -r, чтобы полностью очистить кеш.

+0

Спасибо, Точно, это из-за кеша. – Alfred

 Смежные вопросы

  • Нет связанных вопросов^_^