PATH에서 프로그램을 찾을 수 없는 이유

PATH에서 프로그램을 찾을 수 없는 이유

ipythonmacOS에 내부적으로 virtualenv를 설치했습니다 . 내 PATH 환경 변수는 처음에 virtualenv 경로도 표시합니다. which또한 명령은 명령이 ipython올바른 위치에 있음을 보여줍니다.

문제는 를 실행할 때 ipython쉘이 이상한 위치에서 이전 설치를 발견한다는 것입니다. 여기 몇 가지 예가 있어요.

(csv_import) $ ipython
-bash: /usr/local/bin/ipython: /usr/local/opt/python3/bin/python3.6: bad interpreter: No such file or directory
(csv_import) $ 
(csv_import) $ which ipython
/Users/zeinep/.virtualenvs/csv_import/bin/ipython
(csv_import) $ 
(csv_import) $ echo $PATH
/Users/zeinep/.virtualenvs/csv_import/bin:/Users/zeinep/.avn/bin:/Users/zeinep/.nvm/versions/node/v10.14.1/bin:/usr/local/lib/python3.6/bin:/Users/zeinep/Library/Python/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
(csv_import) $ 
(csv_import) $ 
(csv_import) $ /Users/zeinep/.virtualenvs/csv_import/bin/ipython
Python 3.6.5 (default, Jun 17 2018, 12:13:06) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.3.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]:         

보시다시피 전체 경로를 사용하면 작동합니다. 그렇지 않으면 /usr/local/bin/ipython내가 본 것에서 쉘이 virtualenv에서 발견되더라도 이전 설치가 실행됩니다.

답변1

/Users/zeinep/.virtualenvs/csv_import/binbash가 저장 $PATH한 후에 (해시된) 버전을 추가한 것 같습니다 /usr/local/bin. 수정은 이렇게 간단합니다 hash -d ipython.

관련 정보