pipenv
내 s에는 두 가지 버전이 있습니다 $PATH
.
$ where pipenv
/usr/local/Caskroom/miniconda/base/bin/pipenv #1
/usr/local/bin/pipenv #2
pipenv
#1을 숨기고 #2가 우선순위를 갖도록 하고 싶습니다 .
/usr/local/Caskroom/miniconda/base/bin
이전에 유지하세요 ./usr/local/bin
$PATH
alias pipenv='/usr/local/bin/pipenv'
아니요- no running
mv /usr/local/Caskroom/miniconda/base/bin/pipenv{,.bak}
,
또는rm /usr/local/Caskroom/miniconda/base/bin/pipenv
(conda는 향후에 Pipenv가 업그레이드될 때 해당 위치에 Pipenv를 다시 설치합니다)
또는pipenv
#1(일부 conda 패키지의 종속성)을 제거하는
등의 작업을 수행합니다.
어떻게 해야 하나요?
답변1
예를 들어 다른 디렉토리를 ~/bin
에 배치합니다 PATH
. pipenv
해당 디렉토리에 원하는 디렉토리에 대한 심볼릭 링크를 만듭니다. 예를 들어:
- 다음 줄을 다음 줄에 넣으세요
.profile
.PATH=~/bin:$PATH
- 다음을 한 번 수행하십시오.
mkdir ~/bin ln -s /usr/local/bin/pipenv ~/bin
pipenv
필요한 경우 동적으로 호출할 항목을 선택할 수도 있습니다. (예를 들어, 홈 디렉터리가 여러 컴퓨터 간에 공유되고 다른 컴퓨터에서 서로 다른 기본 디렉터리를 갖고 싶 pipenv
거나 기본 디렉터리를 선택하는 편리한 방법을 원하는 경우 pipenv
.) 이렇게 하려면 심볼릭 링크 대신, 다음 내용을 포함하는 래퍼 스크립트를 생성하고 실행 가능하게 만듭니다( chmod +x ~/bin/pipenv
).
#!/bin/sh
if [ -x /usr/local/bin/pipenv ]; then
pipenv=/usr/local/bin/pipenv
elif [ -x /usr/local/Caskroom/miniconda/base/bin/pipenv ]; then
pipenv=/usr/local/Caskroom/miniconda/base/bin/pipenv
else
pipenv=/usr/bin/pipenv
fi
exec $pipenv "$@"