Kiedy robię
which pip3
dostaję
/usr/local/bin/pip3
ale gdy próbuję wykonać pip3, pojawia się następujący błąd:
bash: /usr/bin/pip3: No such file or directory
To dlatego, że niedawno usunąłem ten plik. Teraz whichpolecenie wskazuje, że inna wersja tego pip3pliku znajduje się w, /usr/local/binale powłoka nadal pamięta złą ścieżkę. Jak mogę zapomnieć o tej ścieżce?
whichInstrukcja mówi
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.
Zarówno /usr/local/bini /usr/binsą w moim PATHzmiennej, a /usr/local/bin/pip3nie jest dowiązaniem symbolicznym, to plik wykonywalny. Dlaczego więc się nie wykonuje?
pip3w tej powłoce, gdy była w /usr/binśrodku, a następnie ją przenosiłeś?
hash -t pip3?
hash -t pip3drukuje/usr/bin/pip3
typeeather niż which. typejest wbudowany w powłokę posix i mówi ci, co zrobi powłoka, a nie whichktóry próbuje zgadnąć, co zrobi powłoka.
/usr/local/bin/pip3?