티스토리 뷰

반응형

0. 설치의 중요성

 

딥러닝을 할 때, Python 버전은 항상 주의를 요합니다. 왜냐하면 딥러닝 프레임워크와 파이썬 파이썬 버전이 맞지 않을 경우 애러가 발생하기 때문입니다. 특히 Github나 HuggingFace를 사용하면 반드시 환경을 잘 맞춰 주어야 합니다.

 

"호환성? 최신 파이썬이니 당연하겠지?", 호환 안됩니다!!

 

 

이번 포스트에서는 여러 버전의 파이썬을 설치하고 손쉽게 선택하는 방법에 대해 알아보도록 하겠습니다. 

 

1. 파이썬 설치(Python Install)

자~ 그럼 python을 설치해 볼까요~

먼저 최신 파이썬 버전을 설치하기 위해 패키지(Package) 리스트를 최신화 합니다. 

$ sudo apt update

또한 패키지의 PPA(personal package archive), repository의 정보를 얻기 위해 software-properties-common를 설치 합니다. 

 

[참고] repository는 우리말로는 저장소를 뜻하며 우분투는 공식 리포지터리(저장소)를 제공하고 있어 많이 이용되는 패키지들을 손쉽게 관리(설치 및 업데이트)할 수 있도록 지원합니다. 다만 주의해야 할점은 이 공식 리포지터리 있는 패키지들은  안정성을 위해 검증된 패키지를 지원하기 때분에 최신 버전이 아닐 수 있습니다.

 

ppa 저장소를 apt-repository를(여기서는 ppa:deadsnakes/ppa 입니다) 추가합니다. 

 

$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:deadsnakes/ppa
# → sudo add-apt-repository [저장소 이름] # ppa:deadsnakes/ppa

 

마지막으로 파이썬 설치하기, 아래의 명령어를 입력하면 특정버전의 파이썬을 설치할 수 있습니다. 

$ sudo apt install python3.10
$ sudo apt install python3.9aci
$ sudo apt install python3.8
$ sudo apt install python3.7

 

2. 파이썬 버전관리(alternatives)


자 이제 원하는 파이썬 버전을 다 설치했다면 파이썬의 설치 목록을 확인해 봅시다~, 명령어는 아래와 같습니다. 

 

$ sudo ls /usr/bin/ | grep python

 

다양한 버전이 설치되어 있다면 아래와 같이 목록이 표시되는 것을 확인하실 수 있습니다. 

이처럼 다양한 버전의 다양한 파이썬이 설치되어 있다면, 아래의 명령을 통해 버전을 확인할 수 있습니다.
$python -V
제 경우에는 python 3.8 이네요, 자 그렇다면 만약 제가 python 3.7로 버전을 변경하고 싶다면 어떻게야 할까요?

alternative로 파이썬 버전을 자유롭게 변경할 수 있습니다. 

Alternatives를 통해 설치된 파이썬 관리하기
 
먼저 Alternatives를 통해서 파이썬 등록이 되어 있는지에 대해서 검토합니다.
 
sudo update-alternatives --config python
 
 
처음 아무것도 등록이 되어 있지 않았다면 sudo  update-alternatives: error: no alternatives for python 으로 나타납니다.이 의미는 아무것도 등록이 되지 않았다는 의미입니다.
Alternative를 통해 파이썬 등록하기
등록은 매우 간단합니다. 아래의 명령어를 통해 등록을 실행시키시면 됩니다. 저의 경우는 3.7과 3.8을등록하였습니다.

$ sudo update-alternatives --install /usr/bin/python python  /usr/bin/python3.7 1
$ sudo update-alternatives --install /usr/bin/python python  /usr/bin/python3.8 2

등록결과 확인 및 변경
 
여기서 잠깐!!
 
만약  Too many levels of symbolic links 라는 애러가 발생하게 되면  아래와 같이  심볼리 링크를 처리해주어야 합니다.
 
$ sudo update-alternatives --remove-all python
$ cd /usr/bin
$ sudo ln -sf python3.7 python
$ sudo ln -sf python3.7 python3
 
3.7 버전 이상에서는 위의 방식이 더 잘 작동합니다. 
 
변경된 내용 확인하기
 
python -V
 
위의 명령어를 통해 변경된 python 버전을 확인합니다.
 
 

3. 파이썬(python)과 pip간의 의존성 문제

 

여러가지의 python을 설치하게 되면 의존성 문제가 발생할 수 있습니다. 이 부분을 해결하기 위해서는 여러 버전별로 의존성 문제에 대한 것을 정리해 주어야 합니다.
정상이라면 아래와 같이 그림이 나타나야 합니다. 두 가지 버전이 상이하다면 정상적으로 설치가 되지 않은 상황입니다. 

 

만약 다른 버전이 생성된다면, 아래와 같이 get-pip.py를 web 으로 부터 얻은 후

$ sudo wget https://bootstrap.pypa.io/get-pip.py

$ python get-pip.py
정상적으로 동작할 수 있도록 아래와 같이처리를 하면 해당 버전과 pip를 맞출 수 있습니다.  

$ python3.8 get-pip.py
$ python3.9 get-pip.py
$ python3.10 get-pip.py

4. 맺음말

이번 포스트에서는 우분투에서 다양한 python 버전을 사용하는 방법에 대해서 알아보았습니다. 딥러닝을 하다보면 다양한 파이썬의 버전을 사용하는경우가 발생합니다

이 경우  Alternative를 사용한다면 좋은 대안이 될 수 있습니다. 

 

물론 가상 환경을 설정해 사용하는 경우에는 큰 어려움이 없지만, 가상홤경을 사용하지 않고, Base를 깔끔하게 정리하고 싶다면 본 포스트가 많이 도움이 되실 것입니다. 

(저도 원인과 결과를 정확하게 알고 싶어, 정리하게 되었습니다.) 

 

처음에는 익숙하지 않지만, 하다보면 조금씩 익숙해 집니다. 더 효과적인 방법이 있다면 다음 포스트에서  좀 더 다뤄 보도록 하겠습니다. 긴  글 끝까지 읽어주셔서 감사드리며, 저의 포스트에 많은 관심 부탁 드립니다.

 
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함