Ваша ПУТЬ не относится к zsh
.Вы можете организовать вещи по-другому.
Например, вы можете решить добавить каталог $HOME/bin/
в начале вашего PATH
и поместить в него $HOME/bin/
символические ссылки на исполняемые файлы (или сценарии ), которые вы хотите использовать.Кстати, я рекомендую иметь короткий PATH
(содержащий некоторые $HOME/bin/
и т. Д.), Так как он более эффективен и менее запутан для понимания.
Что происходит при обновлении Python дляпример?
Предположим, что Python установлен в вашей системе в /usr/bin/python
(и что вы используете какой-то дистрибутив Linux - или какой-то другой Unix - с хорошим менеджером пакетов , имеющим делос этим; на MacOSX рассмотрим homebrew ).Когда этот файл /usr/bin/python
обновляется, любой будущий exec его (например, с помощью некоторой оболочки) будет использовать новую версию.Внимательно прочитайте execve (2) .
Если у вас есть несколько Python-ов, а тот, который вы хотите использовать, находится под /Library/Frameworks/Python.framework/Versions/3.6/bin
, и вы обновили его до некоторого Python 3.7, установленного под /Library/Frameworks/Python.framework/Versions/3.7/bin
вам нужно изменить PATH
.
Если вы последуете моему предложению, у вас (например) будет просто символическая ссылка с $HOME/bin/python
до /Library/Frameworks/Python.framework/Versions/3.6/bin/python
, и вы обновите эту символическую ссылку при установке Python3.7 используя, например:
# remove the old symlink
rm -v $HOME/bin/python
# add the new one
ln -sv /Library/Frameworks/Python.framework/Versions/3.7/bin/python \
$HOME/bin/python
Во всех случаях вы несете ответственность за наличие достаточно хорошего PATH
(и предпочтительно короткого).