Когда я делаю
which pip3
я получил
/usr/local/bin/pip3
но когда я пытаюсь выполнить, pip3я получаю ошибку следующим образом:
bash: /usr/bin/pip3: No such file or directory
Это потому, что я недавно удалил этот файл. Теперь whichкоманда указывает на другую версию, pip3которая находится в, /usr/local/binно оболочка все еще помнит неправильный путь. Как мне заставить его забыть об этом пути?
whichРуководство говорит ,
which returns the pathnames of the files (or links) which would be executed in the current environment, had its arguments been given as commands in
a strictly POSIX-conformant shell. It does this by searching the PATH for executable files matching the names of the arguments. It does not follow
symbolic links.
И то /usr/local/binи другое /usr/binнаходится в моей PATHпеременной, и /usr/local/bin/pip3это не символическая ссылка, это исполняемый файл. Так почему же он не выполняется?
pip3эту оболочку, пока она была внутри, /usr/binа затем перемещали ее?
hash -t pip3?
hash -t pip3печатает/usr/bin/pip3
typeиное, чем which. typeвстроен в оболочку posix и говорит вам, что будет делать оболочка, а не пытаться whichугадать, что будет делать оболочка.
/usr/local/bin/pip3?