python3
zsh 터미널에 다음을 입력하면 Python 3.9가 시작됩니다.
Python 3.9.0 (v3.9.0:9cf6752276, Oct 5 2020, 11:29:23)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
which python3
출력은 다음과 같습니다 .
/Library/Frameworks/Python.framework/Versions/3.9/bin/python3
이는 python3
실행 파일이 해당 위치에 있음을 의미합니다.
터미널을 사용하는 동안 Python 3.9에서 Python 3.11로 전환하고 싶습니다. Python 3.11을 설치했으며 위치는 다음과 같습니다.
/Library/Frameworks/Python.framework/Versions/3.11/bin/python3.11
echo $PATH
출력 은 다음 과 같습니다 .
/Users/alex/Library/Android/sdk/platform-tools
/Users/alex/Library/Android/sdk/tools
/Library/Frameworks/Python.framework/Versions/3.9/bin
/opt/homebrew/bin
/opt/homebrew/sbin
/Library/Frameworks/Python.framework/Versions/3.11/bin
/Library/Frameworks/Python.framework/Versions/3.10/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/Library/TeX/texbin
/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin
/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin
/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
터미널에 (또는 실제로) 입력할 python3
때 Python 3.9 대신 Python 3.11을 실행 하려면 다음과 같이 해야 한다고 생각했습니다.python
Python 3.11 실행 파일의 맨 위에 삽입하십시오
PATH
. 즉, 이제 인쇄가 변수 위에 있기export PATH=/Library/Frameworks/Python.framework/Versions/3.11/bin:$PATH
때문에 실제로 작동합니다 .echo $PATH
/Library/Frameworks/Python.framework/Versions/3.11/bin
PATH
변수를 편집하고 나가는 길에 및 를
PATH
제거하세요/Library/Frameworks/Python.framework/Versions/3.9/bin
./Library/Frameworks/Python.framework/Versions/3.10/bin
/Library/Frameworks/Python.framework/Versions/3.11/bin
cat ~/.zshrc
인쇄에 유의하십시오 :
# python aliases
alias python="python3"
alias pip="pip3"
# adb
export PATH=~/Library/Android/sdk/tools:$PATH
export PATH=~/Library/Android/sdk/platform-tools:$PATH
# English
export LC_ALL=en_US.UTF-8
어떻게 해야 합니까? ~/.zshrc
파일을 편집하고 추가해야 합니까 export PATH=/Library/Frameworks/Python.framework/Versions/3.11/bin:$PATH
, 아니면 변수 3.9
또는 다른 해결 방법에서 제거하고 삭제해야 합니까?3.10
PATH
답변1
에서 배열 zsh
은 $path
변수와 연관됩니다 $PATH
.
다음을 수행하여 요소가 고유한지 확인할 수 있습니다 typeset -U path
.
그런 다음 다음 명령을 사용하여 디렉터리를 맨 앞으로 삽입하거나 이동할 수 있습니다.
path[1,0]=( /that/dir )
패턴과 일치하는 항목을 제거하려면 다음을 수행할 수 있습니다.
path=( ${path:#pattern} )
따라서 여기에 결합하면 다음과 같을 수 있습니다.
typeset -U path
path=( ${path:#/Library/Frameworks/Python.framework/Versions/3.<0-10>/bin} )
path[1,0]=( /Library/Frameworks/Python.framework/Versions/3.11/bin )
을 업데이트하면 $PATH
다음을 사용하여 작성된 스크립트에 영향을 미칩니다.
#! /usr/bin/env python3
shebangs이지만 스크립트에 특정 버전의 Python이 필요한 경우
#! /usr/bin/env python3.9
또는 Python 버전 제어와 관련된 혼란을 해결하는 여러 방법 중 하나를 사용하십시오.
답변2
별명이 설정되었으므로. 그 출처를 찾아보셨나요?
source ~/.zshrc
실패하면 두 번째 접근 방식은 Python 3.9에서 Python 3.11에 대한 심볼릭 링크를 설정하는 것입니다.