1.
두번째 문제 상황: Python 버전

더보기

1.1 첫 번째 문제

모든 Ubuntu 버전들이 같은 Python 버전을 사용하지 않습니다.

Ubuntu 버전별 기본 Python 버전이 다릅니다.

 

파이썬이 기본으로 설치되어 있다는 것은 참 편리하지만, 사용자가 원하는 파이썬 버전과 다를 수 있습니다.

 

 

 

 

1.2 Ubuntu 버전별 기본 Python 예시

Ubuntu 버전기본  python3 버전
20.04 LTS 3.8
22.04 LTS 3.10
24.04 LTS 3.12

따라서 Python 작업 시작하기 전에는 반드시 현재 시스템의 Python 버전을 확인해야 합니다.

💡 Ubuntu 사용시, python과 python3의 차이

  • python3 : Ubuntu에서 기본적으로 사용하는 Python3 실행 명령
  • python : 항상 기본 제공되는 명령은 아니며, 환경에 따라 없을 수도 있음

즉, Ubuntu에서는 혼동을 줄이기 위해 python보다 python3를 기본 명령으로 통일하여 사용하는 편이 좋습니다.

 

 

 

 

1.3. 파이썬 버전 확인 방법

먼저 현재 Ubuntu 시스템에 무엇이 설치되어 있는지 확인해 봅시다.

가장 기본적으로 아래 두 명령을 먼저 확인합니다.

python3 --version
which python3


python3 --version 은 현재 기본으로 설정된 Python3 버전을 보여줍니다.

which python3 는 현재 터미널에서 python3를 입력했을 때 실제로 어떤 경로의 실행 파일이 사용되는지 보여줍니다.

이 두 명령만으로도 “설치 여부”, “현재 버전”, “실행 위치”를 빠르게 확인할 수 있습니다.

 

 

 

 

1.4. 특정 파이썬 설치

[Ubuntu] 특정 버전 Python 설치

 

[Ubuntu] 특정 버전 Python 설치

1. 특정 버전의 Python 설치 방법 (PPA)더보기1.1. PPA 추가를 위한 필수 패키지 설치sudo apt updatesudo apt install software-properties-commonUbuntu 기본 저장소에 원하는 버전이 없을 경우, PPA를 추가해 설치하는

basiclike.tistory.com

 

개발자가 원하는 파이썬 버전을 추가로 설치하고, 개발에 사용할 수 있습니다.

2. 🐍 특정 버전의 Python 설치 방법 (PPA)

더보기

2.1. PPA 추가를 위한 필수 패키지 설치

sudo apt update
sudo apt install software-properties-common

Ubuntu 기본 저장소에 원하는 버전이 없을 경우, PPA를 추가해 설치하는 방법을 사용할 수 있습니다.

먼저 PPA를 추가하기 위한 기본 도구를 설치합니다.

 

 

 

 

2.2. Deadsnakes PPA 추가 및 업데이트

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update

대표적으로 많이 사용하는 예시 중 하나가 Deadsnakes PPA입니다.

 

 

 

 

2.3. 원하는 특정 버전 파이썬 설치 (예: 3.11)

이제 원하는 버전을 설치할 수 있습니다.

sudo apt install python3.11  python3.11-venv python3.11-dev -y
패키지 역할
python3.11 Python 3.11 실행 파일
python3.11-venv Python 3.11 기준 가상환경 생성 기능
python3.11-dev 일부 패키지 빌드에 필요한 개발 헤더

 

 

 

 

2.4. 설치 확인 (예: 3.11)

설치가 끝나면 아래처럼 직접 확인합니다.

python3.11 --version
which python3.11

이 명령이 정상 동작하면 해당 버전의 Python 실행 파일이 추가된 것입니다.

실패한다면 1.1 부터 다시 시작합니다.

💡주의

  • PPA는 Ubuntu 공식 기본 저장소가 아니라 외부 저장소입니다. 
  • Python3.11를 추가 설치했다고 해서 시스템 기본 python3가 자동으로 3.11로 바뀌는 것은 아닙니다.
  • 2025.Nov.20 PySide6 사용시 Python 권장 버전: 3.10 또는 3.11

🚨 주의

오늘(2026년 5월 5일) 경우, Ubuntu PPA와 같은  Ubuntu 인프라를 대상으로 한 대규모 디도스(DDoS) 공격으로, 접속을 강제로 차단하고 있는 상황에서는 PPA 사용은 잠시 포기하고 pyenv 같은 대안 찾아야 합니다.

 

 

 

 

2.5 특정 버전 파이썬 삭제 방법

Python 3.11 패키지 삭제하는 경우의 예시

sudo apt remove --purge python3.11 python3.11-venv python3.11-dev -y
Python 3.11 패키지 삭제 예시
sudo apt remove --purge python3.10 python3.10-venv python3.10-dev python3.10-minimal python3.10-distutils -y

패키지 의미
python3.10 Python 3.10 기본 실행 환경
python3.10-minimal Python 3.10의 최소 실행 파일. /usr/bin/python3.10 포함
python3.10-venv Python 3.10으로 가상환경 생성할 때 필요
python3.10-dev Python 3.10 기반 C 확장 모듈 빌드용 개발 파일
python3.10-distutils 예전 Python 패키지 빌드/설치 도구 관련 모듈

 

불필요한 의존성 정리

sudo apt autoremove -y

 

패키지 캐시 정리

sudo apt clean

 

Deadsnakes PPA 자체 제거

sudo add-apt-repository --remove ppa:deadsnakes/ppa
sudo apt update

 

확인 방법

ls /etc/apt/sources.list.d/
  • deadsnakes 관련 파일이 사라졌거나 비활성화되어 있으면 됩니다.

3. 특정 버전의 Python 설치 방법 (pyenv)

더보기

시스템 패키지 매니저(apt)를 거치지 않고, 파이썬 공식 소스에서 코드를 가져와 사용자 환경에 직접 빌드합니다.

PPA 서버가 죽어있어도 파이썬 공식 홈페이지(python.org)만 살아있으면 설치가 가능합니다.

 

3.1. 빌드에 필요한 도구 설치

curl -LsSf https://astral.sh/uv/install.sh | sh && \
export PATH="$HOME/.local/bin:$PATH" && \
uv python install 3.11 && \
mkdir -p py311_test && \
cd py311_test && \
rm -rf .venv && \
uv venv --python 3.11 --seed && \
source .venv/bin/activate && \
python --version && \
python -m pip --version && \
uv pip install PySide6-Essentials && \
python -c "from PySide6.QtWidgets import QApplication, QWidget; print('PySide6 Essentials 설치 확인 완료')"

 

 

 

 

3.2. pyenv 설치

설치 스크립트를 실행합니다.

curl https://pyenv.run | bash

 

 

 

 

3.3. 경로 설정 확인

Nano 편집기로 파일 열기 터미널에서 다음 명령어를 입력합니다.

nano ~/.bashrc

 

파일의 가장 하단으로 이동하여 다음 내용들을 순서대로 붙여넣으세요.

(pyenv 기본 설정이 이미 있다면 그 바로 아래에 두시면 됩니다.)

export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
  • 저장: Ctrl + O 누른 후 Enter
  • 종료: Ctrl + X

 

 

 

 

3.4. 설정 적용 및 버전 확인

편집기를 빠져나온 후(Ctrl+X), 현재 터미널에 설정을 적용하려면 source 명령어를 사용하세요.

source ~/.bashrc

 

 

 

 

3.5. pyenv 설치 확인

pyenv --version

정상적으로 버전이 출력된다면, 이제 원하셨던 파이썬 설치를 진행하시면 됩니다.

문제가 있다면, 5.2 부터 다시 시작합니다.

 

 

 

 

3.6. 특정 Python 버전 설치

pyenv install 3.9.19

 

 

 

3.7. 삭제

 

- pyenv에 설치된 Python 버전 확인

pyenv versions

 

- 남아 있는 불완전한 설치 파일을 강제로 삭제합니다. (처음부터 다시 시작할때 사용하세요.)

pyenv uninstall 3.9.18

확인 질문이 나오면 `y` 입력하면 됩니다.

 

 

4. 특정 버전의 Python 설치 방법 (uv)

더보기
curl -LsSf https://astral.sh/uv/install.sh | sh && \
export PATH="$HOME/.local/bin:$PATH" && \
uv python install 3.11 && \
mkdir -p py311_test && \
cd py311_test && \
rm -rf .venv && \
uv venv --python 3.11 --seed && \
source .venv/bin/activate && \
python --version && \
python -m pip --version && \
uv pip install PySide6-Essentials && \
python -c "from PySide6.QtWidgets import QApplication, QWidget; print('PySide6 Essentials 설치 확인 완료')"

5. 설치된 모든 Python 버전 확인 방법

더보기

시스템에 여러 Python 버전이 설치되어 있다면, 어떤 Python 실행 파일이 있는지 직접 확인하는 것이 좋습니다.

 

5.1 실행 파일 디렉토리 직접 조회하기

ls -l /usr/bin/python*

이 명령으로 시스템에 존재하는 Python 관련 실행 파일 목록을 확인할 수 있습니다.

 

 

5.2 각 버전을 직접 실행해 보기

python3 --version
python3.8 --version
python3.9 --version
python3.10 --version
python3.11 --version
python3.12 --version

이 방법은 실제로 해당 버전 명령이 실행 가능한지 직접 확인하는 가장 단순한 방법입니다.

 

 

5.3 보조 팁: 자동완성으로 확인하기

보조적인 방법으로는 터미널에서 python 또는 python3를 입력한 뒤 Tab 키를 두 번 눌러 자동완성 목록을 보는 방법도 있습니다. 다만 이 방식은 쉘 설정에 따라 결과가 달라질 수 있으므로, 보조 팁 정도로만 인지합니다.