자신에게 친절할 것 :)

Web Developing/Python

[python] 버전 변경이 안 될 때, anaconda와 부딪힌 것일 수 있음.

Tashapark 2024. 7. 15. 16:00
728x90
반응형

 

국비 지원 강의 들으려는 데, .........파이썬 최신 버전이 안 깔려서.. 이게 대체 뭔 짓이냐 하면서

막 검색했고, 홈 브류를 재설치 할지 고민하다가 우선 지피티에게 물었음. 

 

왜냐면 버전을 확인하는 방법에 따라서 깔린 위치가 다르게 떴는데, 정확한 차이는 모르겠지만, 

버전을 확인하면, 계속 11버전이 떴음. 

 

- python 버전 확인하기 

% python --version
% python3 --version

#Python 3.11.7

 

- 변경하려고 검색을 하니 대체로 ls로 위치에다가 중간에 새로 깐 버전 명을 추가하는 방법을 사용하는데.. 나는 안 됐음.

#깔린 버전과 위치 확인
% ls -al /usr/local/bin/python* 
#값 여러 개가 떴는데 그중 가장 마지막으로.. 아무래도 내가 계속 다운 받아서 그런 듯 안되서.
#lrwxr-xr-x  1 root  wheel  81  7 15 13:41 /usr/local/bin/python3.12-intel64 -> ../../../Library/Frameworks/Python.framework/Versions/3.12/bin/python3.12-intel64


#버전 변경 중간에 원하는 값으로 넣어 줘도
% ln -s -f /usr/local/bin/python3.12.4 /usr/local/bin/python

#ln: /usr/local/bin/python: Permission denied

 

- 계속 시도해봐도 무한 거부가 되어서.. 검색을 해봤더니 홈 브류 재설치 방법이 나왔음. 

ln: /usr/local/bin/python: Permission denied

 

- 그런데 위치로 경로를 확인하면 자꾸.. anaconda로 뜨길래 콘다 문제라고 여겨졌음. 

 % which python3
 % which python
 
 #/opt/anaconda3/bin/python3
 #/opt/anaconda3/bin/python

 

 

- 그래서 우선 gpt에게 터미널 창의 출력 값들을 보내서 알려주니깐, 

콘다를 비활성화 하라고 알려줌. 


- Anaconda 비활성화 하기 

# Anaconda 환경 비활성화
conda deactivate

# 관리자 권한으로 심볼릭 링크 변경
sudo ln -s -f /usr/local/bin/python3.12 /usr/local/bin/python
sudo ln -s -f /usr/local/bin/python3.12 /usr/local/bin/python3

# 쉘 초기화 스크립트 수정
nano ~/.zshrc  # 또는 ~/.bash_profile, ~/.bashrc

# 쉘 초기화 스크립트 다시 로드
source ~/.zshrc  # 또는 source ~/.bash_profile, source ~/.bashrc

# Python 버전 확인
python --version
python3 --version

 

위를 따라하면 되는데 나는 쉘 스크립트를 잘 몰라서 수정 방법도 물었음. 


- 쉘 초기화 스크립트 수정

- 일단 위에서 처럼 해서 초기화 스크립트를 염

nano ~/.zshrc  # zsh를 사용하는 경우
# 또는
nano ~/.bash_profile  # bash를 사용하는 경우
# 또는
nano ~/.bashrc  # bash를 사용하는 경우

 

- 스크립트를 다 주석처리하면 됌.

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/opt/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/opt/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

#위에를 아래처럼

# # >>> conda initialize >>>
# # !! Contents within this block are managed by 'conda init' !!
# __conda_setup="$('/opt/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
# if [ $? -eq 0 ]; then
#     eval "$__conda_setup"
# else
#     if [ -f "/opt/anaconda3/etc/profile.d/conda.sh" ]; then
#         . "/opt/anaconda3/etc/profile.d/conda.sh"
#     else
#         export PATH="/opt/anaconda3/bin:$PATH"
#     fi
# fi
# unset __conda_setup
# # <<< conda initialize <<<

 

- nano 에디터에서는 Ctrl + O를 눌러 저장한 후 Enter를 누르고, Ctrl + X를 눌러 편집기를 닫으면 됌.

- 그리고 다시 위에처럼 쉘 초기화 스크립트를 다시 로드하면 됨. 

source ~/.zshrc  # zsh를 사용하는 경우
# 또는
source ~/.bash_profile  # bash를 사용하는 경우
# 또는
source ~/.bashrc  # bash를 사용하는 경우


#다시 버전 확인
python --version
python3 --version

#Python 3.12.4
#Python 3.12.4

 

- 이러면 문제가 해결되긴 함. 

 


++ 혹시나 싶어서 gpt에게 콘다 다시 쓰려면 어떻게 되는 거냐고 물으니깐, 필요할 때마다 콘다를 활성화하는 것이 낫다고 답변함. 

- 아직 안 켜봐서 되는 지 아닌지는 모르겠으나, 일단 왔다갔다 해야 하는 듯. 

# 터미널에서 기본 Python 버전 확인
python --version  # Python 3.12.x
python3 --version  # Python 3.12.x

#작업 전
# Anaconda 환경 활성화
conda activate

# 주피터 노트북 실행
jupyter notebook

#작업후
# Anaconda 환경 비활성화
conda deactivate

 

+++ 만약 home brew를 사용하면 그걸로 지웠다가 깔아도 됨.

- brew install pyenv  설치하고  

- pyenv rehash 로 변경사항 적용후

- pyenv versions 으로 버전 확인 하면 가능 

- 이거 사용하면 버전 변경이 쉽다고 하긴 했음

728x90
반응형