Ubuntu에서 Python 버전 확인·변경·전환 방법 완전 가이드

1. 소개

Ubuntu에서 Python을 사용할 때, Python 버전 관리는 중요한 포인트입니다. Python은 정기적으로 새로운 버전이 릴리스되며, 개발 환경에 따라 다른 버전을 사용해야 할 필요가 있습니다. 하지만, Ubuntu에는 여러 Python 버전이 공존하는 경우가 있으며, 「현재 Python 버전을 확인하고 싶다」 「특정 버전을 사용하고 싶다」 「Python 버전을 전환하고 싶다」 와 같은 상황에 직면하는 경우가 많습니다. 이 기사에서는 Ubuntu에서 Python 버전을 확인·변경·전환하는 방법을 자세히 설명합니다. 명령어 예시를 곁들여 초보자도 혼란 없이 실천할 수 있도록 설명하니, 꼭 마지막까지 확인해 주세요.

2. Python 버전을 확인하기【지금 바로 시도해 보세요!】

먼저, 현재 Ubuntu에 설치된 Python 버전을 확인하는 방법을 소개합니다.

2.1 가장 간단한 방법(1초 만에 확인)

Ubuntu에서 Python 버전을 확인하는 가장 간단한 방법은 터미널에서 아래 명령을 실행하는 것입니다.
python3 --version
또는, 아래 명령으로도 동일한 결과를 얻을 수 있습니다.
python3 -V
실행 예:
$ python3 --version
Python 3.10.6
이와 같이 현재 Python 버전이 표시됩니다.

2.2 python --version 와의 차이

Ubuntu에서는, python 명령이 Python 2 계열을 가리키는 경우가 있기 때문에, 보통 python3 --version 을 사용하는 것이 권장됩니다. 아래 명령으로 python 이 설치되어 있는지 확인할 수 있습니다.
python --version
만약 Command 'python' not found 라는 오류가 발생한 경우, Python 3만 설치되어 있을 가능성이 있습니다.

2.3 자세한 버전 정보를 가져오기

Python의 보다 자세한 버전 정보를 확인하고 싶다면, 아래 명령을 실행합니다.
python3 -VV
실행 예:
$ python3 -VV
Python 3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]
이 명령을 사용하면, 컴파일에 사용된 GCC 버전 및 빌드 날짜와 시간 등 자세한 정보를 확인할 수 있습니다.

2.4 Python 스크립트 내에서 버전 가져오기

Python 스크립트 내에서 Python 버전을 가져오고 싶다면 sys 모듈을 사용합니다.
import sys
print(sys.version)
print(sys.version_info)
실행 예:
$ python3 script.py
3.10.6 (main, Jan 16 2024, 11:25:20) [GCC 11.2.0]
sys.version_info(major=3, minor=10, micro=6, releaselevel='final', serial=0)
sys.version_info 를 사용하면, 버전의 각 요소(메이저, 마이너, 마이크로)를 숫자로 가져올 수 있습니다.

3. Python의 버전을 변경·관리하기【시스템 기본값 설정】

Ubuntu에서는 여러 Python 버전이 설치되어 있을 수 있습니다。 이 섹션에서는 시스템 전체에서 사용할 Python 기본 버전을 변경하는 방법을 설명합니다。

3.1 설치된 Python 버전 확인

먼저, Ubuntu에 설치된 Python 버전을 확인합니다。
ls /usr/bin/python*
실행 예:
$ ls /usr/bin/python*
/usr/bin/python3  /usr/bin/python3.8  /usr/bin/python3.10
이와 같이 여러 버전이 설치되어 있는 경우, 어떤 버전을 기본값으로 할지 선택할 수 있습니다。

3.2 update-alternatives 로 기본 Python 전환

Ubuntu에서는 update-alternatives 를 사용하여 기본 Python 버전을 전환할 수 있습니다。 먼저, 현재 설정을 확인합니다。
sudo update-alternatives --display python
만약 python 이 등록되어 있지 않다면, 아래 명령으로 등록할 수 있습니다。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2
다음으로, 기본 버전을 선택합니다。
sudo update-alternatives --config python
실행 예:
There are 2 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.10  1         auto mode
  1            /usr/bin/python3.10  1         manual mode
  2            /usr/bin/python3.8   2         manual mode

Press <enter> to keep the current choice[*], or type selection number: 
여기서 전환하고 싶은 버전 번호를 입력하면, 기본 Python 버전이 변경됩니다。

3.3 심볼릭 링크를 수동으로 변경

update-alternatives 를 사용하지 않고, 심볼릭 링크를 변경함으로써 기본 Python을 설정할 수도 있습니다。
sudo ln -sf /usr/bin/python3.10 /usr/bin/python
이 방법을 사용하면, 시스템 전체에서 python 명령이 python3.10 을 가리키게 됩니다。

4. 프로젝트별로 Python 버전을 전환하는 방법

Ubuntu에서 Python을 사용할 때, 프로젝트별로 다른 버전을 관리하고 싶다는 경우가 있습니다。 예를 들어, 어떤 프로젝트에서는 Python 3.10을, 다른 프로젝트에서는 Python 3.8을 사용하고 싶을 때입니다。 이러한 경우에는 가상 환경(venv)이나 pyenv를 활용하면 편리합니다。 이 섹션에서는 가상 환경과 pyenv를 사용하여 Python 버전을 쉽게 전환하는 방법을 소개합니다。

4.1 venv를 이용하여 환경별로 버전을 관리

Python에는 표준 기능으로 venv(가상 환경)이 있습니다。 가상 환경을 사용하면 특정 디렉터리 내에서 다른 Python 버전 및 라이브러리를 관리할 수 있습니다。

venv를 사용한 가상 환경 만들기

먼저, 가상 환경을 만들고 싶은 디렉터리로 이동한 뒤, 아래 명령을 실행합니다。
python3 -m venv myenv
이렇게 하면, myenv 라는 가상 환경이 생성됩니다。

가상 환경 활성화

가상 환경을 활성화하려면, 아래 명령을 실행합니다。
source myenv/bin/activate
활성화하면 터미널 프롬프트가 바뀝니다。
(myenv) user@ubuntu:~/project$
이 상태에서는 가상 환경 내의 Python이 사용됩니다。

가상 환경 내 Python 버전 확인

가상 환경 내에서 Python 버전을 확인하려면, 아래 명령을 실행합니다。
python --version

가상 환경 비활성화

가상 환경을 종료하려면, 아래 명령을 실행합니다。
deactivate
이 방법을 사용하면, 프로젝트별로 Python 버전 및 패키지를 독립적으로 관리할 수 있습니다。

4.2 pyenv를 사용한 Python 버전 관리

venv에서는 가상 환경별로 Python 버전을 관리할 수 있지만、 시스템 전체의 Python 버전을 자유롭게 전환하고 싶을 때는 pyenv를 사용하면 편리합니다

pyenv 설치

먼저, pyenv를 설치합니다。 Ubuntu에서 pyenv를 설치하려면, 아래 명령을 실행합니다。
curl https://pyenv.run | bash
설치 후, 아래 명령을 실행하여 설정을 반영합니다。
exec $SHELL

pyenv로 Python 버전 설치

pyenv를 사용하여 Python 버전을 설치하려면, 아래 명령을 실행합니다。
pyenv install 3.10.6
설치 가능한 버전을 확인하려면, 아래 명령을 실행합니다。
pyenv install --list

pyenv로 Python 버전 전환

시스템 전체에서 Python 버전을 변경하려면, 아래 명령을 실행합니다。
pyenv global 3.10.6
특정 디렉터리 내에서만 버전을 전환하려면, 아래 명령을 실행합니다。
pyenv local 3.8.10

현재 Python 버전 확인

pyenv로 현재 Python 버전을 확인하려면, 아래 명령을 실행합니다。
pyenv versions
이 방법을 사용하면, 프로젝트별로 다른 Python 버전을 쉽게 관리할 수 있습니다。

5. 자주 묻는 질문(FAQ)【문제 해결】

여기에서는 Ubuntu에서 Python 버전 관리를 할 때 자주 발생하는 의문점과 트러블슈팅을 소개합니다.

Q1: pythonpython3은 어떻게 다른가?

Ubuntu에서는 python3이 표준이며, python은 Python 2 계열을 가리킬 수 있습니다。 따라서 최신 환경에서는 python3 --version을 사용하는 것이 권장됩니다.

Q2: python --version으로 표시되는 버전이 의도와 다를 경우 대처 방법은?

update-alternativespyenv를 사용하여 기본 Python을 변경할 수 있습니다.
  • update-alternatives를 사용하는 방법:
sudo update-alternatives --config python
  • pyenv를 사용하는 방법:
pyenv global 3.10.6

Q3: python3 --version으로는 표시되는데 python으로는 동작하지 않는 이유는?

시스템에 python 명령이 설치되어 있지 않을 가능성이 있습니다。 다음 명령으로 python의 심볼릭 링크를 만들면 해결됩니다.
sudo ln -sf /usr/bin/python3 /usr/bin/python

Q4: Ubuntu에서 오래된 Python을 삭제하는 방법은?

먼저, 설치된 Python을 확인합니다.
apt list --installed | grep python
특정 Python 버전을 삭제하려면 아래 명령을 실행합니다.
sudo apt remove python3.6

Q5: 오래된 Python을 삭제해도 Ubuntu에 영향을 미치나요?

Ubuntu 시스템 도구는 특정 Python 버전에 의존할 수 있기 때문에, python3 --version을 확인하고 필요한 버전이 남아 있는지 체크하는 것이 안전합니다. 삭제하려면 먼저 어떤 Python이 설치되어 있는지 확인한 후 실행하십시오.
apt list --installed | grep python

6. 요약 & 다음에 읽어야 할 기사

여기까지, Ubuntu에서 Python 버전을 확인·변경·전환하는 방법을 자세히 설명했습니다.
  • Python 버전 확인python3 --version
  • 시스템 전체의 버전 변경update-alternatives 또는 ln -sf
  • 프로젝트별 버전 관리venv(가상 환경) 또는 pyenv
특히, pyenv를 활용하면, Python 버전 관리가 간단해집니다. “여러 프로젝트에서 다른 버전을 사용하고 싶다”, “기본 Python을 변경하고 싶다” 경우는, 꼭 pyenv를 시도해 보세요.

관련 사이트

Pythonプログラミングの世界

Pythonプログラミングの世界へようこそ!初心者から上級者まで、Pythonの基礎から応用、データ分析やWeb開発まで…

年収訴求