colab을 사용하다 보면 파이썬의 버전을 변경해주어야 하는 경우가 많이 발생합니다.
구글링을 해도 해결 방법을 찾지 못하다 가라식(?) 해결책을 찾게 되어 포스팅해보려 합니다.
💡 이 방법을 사용하면 노트북 런타임을 다시 시작하면 다시 설정해주어야 하는 번거로움이 있습니다.
colab에서 공식적으로 지원하는 파이썬의 버전은 3.8 버전 이상으로 그 이전 버전을 필요로 하는 서드 파티 라이브러리를 사용하는 데 문제가 있습니다.
![](https://blog.kakaocdn.net/dn/1kwcI/btsjGmRqRcN/kJyJVcQjM1tPhbThF1wjqK/img.png)
현재 colab에 설치되어 있는 파이썬 버전을 확인해보면 다음과 같습니다.
![](https://blog.kakaocdn.net/dn/ngAun/btsjG0mZw89/ulI7HkKL68hHcLHQ1ErrO0/img.png)
3.8 버전과 3.10버전을 지원하고 있기 때문에 이 상태에서는 3.7버전으로 바꾸려해도 바꾸기가 어렵습니다.
여기서 직접 apt를 사용해 python3.7을 설치해주겠습니다.
!sudo apt upgrade
!sudo apt install python3.7
![](https://blog.kakaocdn.net/dn/zh6iV/btsjFWlesMx/bzhEHHFJhyxdxPntte3fw0/img.png)
3.7버전을 설치했지만 python 버전을 확인해보면 아직 3.7버전으로 변경되지 않은 것을 확인할 수 있습니다.
![](https://blog.kakaocdn.net/dn/O5SLu/btsjImXmplm/tWN5UE7IvEF39Jhq18MH1k/img.png)
python의 버전을 변경하는 과정이 필요합니다.
!sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1
!sudo update-alternatives --config python3
update-alternatives는 소프트웨어의 버전을 관리해주는 명령어입니다.
- --install : 관리할 python3의 버전에 설치한 python3.7 버전을 추가해줍니다
- --config : python3의 버전을 선택할 수 있게 해줍니다
![](https://blog.kakaocdn.net/dn/spXoW/btsjEly7iR6/T2cVr5Evu3b7Z4XNrCUUVk/img.png)
아래 명령어를 입력하면 python의 버전을 선택할 수 있게 되는데 여기서 사용할 python의 버전을 선택해줍니다. Path 오른쪽에 있는 Selection을 이용해 사용할 선택할 수 있습니다.
![](https://blog.kakaocdn.net/dn/c8QgP4/btsjD87gedC/0zb3nbWAQooXqspQAWSGuK/img.png)
python의 버전은 바뀌었지만 기존에 python에 설치된 라이브러리들은 모두 사라지는 문제가 있습니다.
확인해보면 pip도 사라지기 때문에 pip를 다시 설치해주어야 합니다.
!sudo apt install python3-pip
![](https://blog.kakaocdn.net/dn/pdsUP/btsjJUF8n9a/yDQkjslIxEnUGzheN2CAJ0/img.png)
pip만 설치하게 되면 ModuleNotFoundError가 발생하게 됩니다. distutils.util이 없기 때문에 다시 apt를 이용해 설치해줍니다.
!sudo apt install python3.7-distutils
이 때, python3.x와 같이 버전을 반드시 명시해주어야 합니다.
![](https://blog.kakaocdn.net/dn/kQUpJ/btsjAw8q4hX/EKtkx38RGK5ObAVLitMFg1/img.png)
distutils까지 설치해주면 정상적으로 python과 pip가 버전을 인식하는 것을 확인할 수 있습니다.
추가: ninja 라이브러리 사용시!!
ninja 라이브러리 사용시 c 코드에서 python 코드로 바꾸는 과정에서도 문제가 발생합니다. c 파일에서 Python.h 헤더파일을 포함시켜주어야 하는데 Python.h 헤더파일이 없어 에러가 발생합니다.
!sudo apt install python3.7-dev
위와 같이 python3.x-dev를 설치해주면 헤더 파일 문제를 해결할 수 있습니다.
정말 간단한 방법인데 의외로 colab 관련한 구글링을 했을 때는 해결책을 찾기가 어려웠습니다. 클라우드 환경이라 생각하고 리눅스에서 python 설치 관련 솔루션으로 구글링을 하니 엄청난 삽질 끝에 방법을 찾았습니다..^^
colab에서 공식적으로 지원하는 방법은 아니기 때문에 매번 노트북을 껐다 킬 때마다 위 방법을 다시 반복해야한다는 문제가 있지만 python 버전을 바꿀 수 있다는 점에 만족합니다.
!sudo apt install python3.7
!sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 1
!sudo update-alternatives --config python3
!sudo apt install python3-pip
!sudo apt install python3.7-distutils
위 명령어를 복사해서 colab에서 바로 실행하면 중간에 python 버전만 선택해주면 바로 3.7버전 이하의 python을 사용할 수 있습니다!
'Python > Syntax' 카테고리의 다른 글
[Python] pathlib (0) | 2023.04.07 |
---|---|
[Pytorch] 기초 문법 (0) | 2023.03.26 |
[Numpy] hstack (2) | 2023.03.23 |
[Pandas] 함수 정리 (0) | 2023.02.09 |
[Python] while ~ else문 (0) | 2023.01.17 |