리눅스 환경에서 파이썬을 설치하는 것은 개발자에게 기본적인 필수 작업입니다. 특히 다양한 프로젝트와 환경에 맞춰 여러 버전의 파이썬을 관리해야 할 필요성이 커지면서, 단순히 운영체제(OS)에서 제공하는 기본 버전을 사용하는 것을 넘어 최신 버전이나 특정 버전을 효율적으로 설치하고 관리하는 방법이 중요해졌습니다.
📚 함께 읽으면 좋은 글
이 가이드는 **우분투(Ubuntu)**와 CentOS/RHEL과 같은 주요 리눅스 배포판에서 파이썬을 성공적으로 설치하고, 여러 버전을 충돌 없이 관리할 수 있는 가장 안정적인 방법을 단계별로 제시합니다. 특히 2025년 12월 현재 시점에 맞춘 최신 정보와 버전 관리 도구인 pyenv의 활용법에 초점을 맞춥니다.
🚀 리눅스 배포판별 기본 파이썬 설치 방법 상세 더보기
대부분의 리눅스 배포판은 시스템 운영에 필요한 파이썬 2.x 또는 3.x 버전을 기본적으로 포함하고 있습니다. 하지만 이 버전은 구형이거나 특정 라이브러리 설치에 문제가 있을 수 있습니다. 따라서 개발 용도라면 패키지 관리자를 통해 최신 버전을 설치하는 것이 일반적입니다.
운영체제에 따라 사용하는 패키지 관리 도구가 다르므로, 자신의 환경에 맞는 설치 방법을 선택해야 합니다.
📘 우분투/데비안(Ubuntu/Debian)에서 apt로 파이썬 설치 확인하기
우분투와 데비안 계열은 apt(Advanced Packaging Tool)를 사용하여 패키지를 관리합니다. 파이썬 3의 최신 안정 버전을 설치하는 가장 간단하고 일반적인 방법입니다.
- 시스템 패키지 목록 업데이트:
sudo apt update - 파이썬 3 설치 및 개발 관련 도구 설치:
sudo apt install python3 python3-dev python3-pip -y - 설치 확인:
python3 --version우분투는 시스템 명령어인
python을 파이썬 2.x에,python3을 파이썬 3.x에 연결합니다.python명령어로 파이썬 3을 사용하려면 심볼릭 링크를 변경해야 하지만, 시스템 충돌을 방지하기 위해python3으로 명시적으로 호출하는 것을 권장합니다.
🧱 CentOS/RHEL/Fedora에서 Yum/Dnf로 파이썬 설치 보기
CentOS, RHEL, 페도라 계열은 yum 또는 최신 버전의 dnf를 사용하여 패키지를 관리합니다. 이 배포판 역시 파이썬 3을 설치할 때 python3 패키지를 사용합니다.
- 시스템 패키지 목록 업데이트 (CentOS 7/8의 경우):
sudo yum update -yCentOS 8 이상 및 최신 RHEL에서는
dnf를 사용하는 것이 좋습니다:sudo dnf update -y - 파이썬 3 설치:
sudo dnf install python3 -y - 설치 확인:
python3 --version구버전 CentOS에서는
python3대신python36,python38등 버전이 명시된 패키지를 설치해야 할 수도 있습니다. 최신 버전 설치는 파이썬 소스 코드 컴파일 설치 섹션을 참조하십시오.
패키지 관리자를 통한 설치는 가장 빠르지만, 운영체제 저장소에 등록된 버전에 국한된다는 단점이 있습니다.
✅ 리눅스 환경에서 다중 파이썬 버전 관리 pyenv 사용법 상세 더보기
하나의 리눅스 서버나 워크스테이션에서 여러 프로젝트를 진행할 경우, 각 프로젝트가 요구하는 파이썬 버전이 다를 수 있습니다. 이럴 때 **pyenv**는 리눅스에서 파이썬 버전을 격리하고 관리하는 가장 표준적이고 강력한 도구입니다. pyenv는 시스템에 설치된 파이썬을 건드리지 않고, 사용자 디렉토리에 원하는 파이썬 버전을 컴파일하여 설치할 수 있게 해줍니다. pyenv를 사용하면 프로젝트별로 파이썬 버전을 설정할 수 있어 환경 충돌을 완벽하게 방지할 수 있습니다.
🛠️ pyenv 설치 및 초기 설정 확인하기
pyenv를 설치하기 전에 파이썬 소스 코드를 컴파일하는 데 필요한 빌드 종속성 패키지를 먼저 설치해야 합니다. 배포판별로 필요한 패키지가 다릅니다.
우분투/데비안 빌드 종속성 설치
sudo apt update; sudo apt install make build-essential libssl-dev zlib1g-dev
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git -y
CentOS/RHEL 빌드 종속성 설치
sudo dnf install @development zlib-devel bzip2-devel
readline-devel sqlite-devel openssl-devel xz-devel libffi-devel tcl-devel -y
pyenv 설치 (GitHub에서 직접 설치 권장)
curl https://pyenv.run | bash
설치 스크립트가 완료되면, 환경 변수를 설정하여 pyenv가 쉘에서 동작할 수 있도록 구성해야 합니다. 일반적으로 ~/.bashrc 또는 ~/.zshrc 파일에 아래 내용을 추가합니다.
# ~/.bashrc 또는 ~/.zshrc 에 추가 export PYENV_ROOT="HOME/.pyenv" export PATH="$PYENV\_ROOT/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)" eval "(pyenv virtualenv-init -)"
파일을 수정한 후, 쉘을 재시작하거나 source ~/.bashrc 명령으로 적용합니다.
⚙️ pyenv를 이용한 특정 파이썬 버전 설치 및 사용 보기
pyenv가 정상적으로 설치되었다면, 원하는 버전을 매우 쉽게 설치하고 활성화할 수 있습니다.
설치 가능한 파이썬 버전 확인
pyenv install --list
특정 버전 (예: 3.12.0) 설치
2025년 현재 기준 최신 버전인 3.12.x 버전을 설치하는 예시입니다.
pyenv install 3.12.0
설치에는 파이썬 소스 코드를 컴파일하는 과정이 포함되므로, 시간이 다소 소요될 수 있습니다.
설치된 파이썬 버전 확인
pyenv versions
버전 활성화 (전역, 지역, 쉘)
- 전역 (Global): 시스템 전체의 기본 파이썬 버전을 설정합니다.
pyenv global 3.12.0 - 지역 (Local): 특정 디렉토리(프로젝트)에만 파이썬 버전을 설정합니다. 이 디렉토리에
.python-version파일이 생성됩니다. 대부분의 프로젝트에서 이 방법을 사용합니다.pyenv local 3.12.0 - 쉘 (Shell): 현재 쉘 세션에서만 임시로 버전을 설정합니다.
pyenv shell 3.12.0
설정이 완료되면 python --version 명령을 사용하여 활성화된 버전을 확인할 수 있습니다. pyenv를 사용하면 프로젝트 디렉토리만 이동해도 자동으로 파이썬 버전이 전환되므로 매우 효율적입니다.
⭐ 최신 파이썬 버전 소스 코드 컴파일 설치 가이드 신청하기
패키지 관리자나 pyenv가 제공하지 않는 가장 최신 버전이나 특정 설정이 필요한 경우, 파이썬 소스 코드를 직접 다운로드하여 컴파일하고 설치해야 합니다. 이 방법은 더 많은 시간과 시스템 지식이 필요하지만, 가장 유연한 설치 방법을 제공합니다.
⬇️ 소스 코드 다운로드 및 압축 해제 확인하기
- 파이썬 공식 웹사이트에서 원하는 버전의 소스 코드(
.tgz파일) 다운로드:wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz - 다운로드한 파일 압축 해제:
tar xzf Python-3.12.0.tgz - 디렉토리 이동:
cd Python-3.12.0
⚙️ 컴파일 및 설치 보기
소스 코드를 설치하기 전에 필요한 라이브러리(위의 pyenv 빌드 종속성 설치 참조)가 모두 설치되어 있어야 합니다. 이 과정이 제대로 되지 않으면 나중에 pip로 라이브러리를 설치할 때 SSL이나 ZLib 관련 오류가 발생할 수 있습니다.
- 설치 위치 및 옵션 설정 (configure):
--enable-optimizations옵션은 빌드 시간을 늘리지만, 파이썬의 성능을 최적화합니다.--prefix는 설치 경로를 지정합니다. 시스템 기본 파이썬과 충돌을 피하기 위해/usr/local/python3.12와 같이 별도 경로에 설치하는 것이 일반적입니다../configure --enable-optimizations --prefix=/usr/local/python3.12 - 컴파일 실행:
-j옵션을 사용하여 CPU 코어 수만큼 병렬 컴파일을 진행하면 시간을 단축할 수 있습니다.make -j$(nproc) - 설치 실행:
sudo make altinstall주의:
make install대신make altinstall을 사용해야 합니다.make install은 시스템의 기존python바이너리를 덮어쓸 수 있어 시스템 운영에 문제를 일으킬 수 있습니다.
설치 후에는 새 파이썬 바이너리 경로를 PATH 환경 변수에 추가해야 사용할 수 있습니다. 예를 들어 /usr/local/python3.12/bin 경로를 추가해야 합니다.
📝 파이썬 설치 후 환경 설정 및 필수 작업 확인하기
파이썬 설치를 완료했다고 해서 모든 작업이 끝난 것은 아닙니다. 원활한 개발 환경을 위해 몇 가지 추가적인 필수 설정 작업이 필요합니다.
📦 pip 및 가상 환경(Virtual Environment) 사용 상세 더보기
파이썬 라이브러리 관리를 위해 pip(Package Installer for Python)는 필수입니다. 패키지 관리자를 통해 파이썬을 설치했다면 pip도 함께 설치되었을 가능성이 높지만, 소스 컴파일 설치를 했다면 별도로 설치해야 할 수 있습니다.
가장 중요한 것은 가상 환경(Virtual Environment)의 사용입니다. 파이썬 프로젝트를 진행할 때는 항상 가상 환경을 활성화하여 사용해야 합니다. 가상 환경은 프로젝트별로 독립된 파이썬 환경을 제공하여, 서로 다른 라이브러리 버전으로 인한 충돌을 방지합니다.
- 가상 환경 모듈 설치 (기본적으로 포함되어 있음):
python3 -m pip install virtualenv # 또는 venv 모듈 사용 - 가상 환경 생성:
python3 -m venv my_project_venv - 가상 환경 활성화:
source my_project_venv/bin/activate쉘 프롬프트 앞에 가상 환경 이름(
(my_project_venv))이 나타나면 성공적으로 활성화된 것입니다. - 종료:
deactivate
pyenv를 사용한다면, pyenv-virtualenv 플러그인을 사용하여 버전 관리와 가상 환경 관리를 동시에 수행할 수 있어 매우 편리합니다.
📌 추가로 참고할 만한 글
❓ 자주 묻는 질문 (FAQ)
Q1: 리눅스에서 기본 파이썬 2 버전을 제거해도 되나요?
A: 절대 안 됩니다. 많은 리눅스 배포판은 시스템 도구(예: yum, dnf 등)의 작동을 위해 파이썬 2나 특정 버전의 파이썬 3에 의존하고 있습니다. 기본 설치된 파이썬 버전을 제거하거나 변경하면 시스템 자체가 오작동할 수 있습니다. 대신 pyenv와 같은 도구를 사용하거나, make altinstall 명령을 사용하여 시스템 경로와 분리된 곳에 새 파이썬을 설치해야 합니다.
Q2: pyenv를 사용하는데도 “command not found” 오류가 발생합니다. 왜 그런가요?
A: pyenv를 설치한 후, 쉘 환경 설정 파일(~/.bashrc, ~/.zshrc 등)에 pyenv init 명령어가 제대로 추가되고 적용되었는지 확인해야 합니다. 파일에 추가한 후에는 source ~/.bashrc (또는 해당 파일) 명령으로 설정을 재로딩하거나 쉘을 완전히 재시작해야 pyenv가 PATH 환경 변수에 추가되어 명령어를 인식할 수 있습니다.
Q3: 우분투에서 PPA를 이용해 최신 파이썬을 설치해도 되나요?
A: PPA(Personal Package Archive)를 통해 최신 파이썬 버전을 설치하는 것은 가능하지만, 공식 저장소가 아니므로 시스템의 안정성을 저해할 위험이 있습니다. 개발 프로젝트에는 pyenv를 사용하는 것이 훨씬 안전하고 권장되는 방법입니다. PPA는 시스템 전역에 영향을 미치지만, pyenv는 사용자 환경에서 격리된 설치를 제공합니다.
Q4: 리눅스에서 파이썬 설치 시 발생하는 가장 흔한 오류는 무엇이며, 어떻게 해결해야 하나요?
A: 가장 흔한 오류는 빌드 종속성(Dependency) 부족입니다. 소스 코드를 컴파일하여 설치(pyenv install 포함)할 때, libssl-dev, zlib1g-dev, libffi-dev 등과 같은 라이브러리 개발 파일이 없으면 파이썬이 완벽하게 빌드되지 않아 나중에 pip로 외부 라이브러리(예: cryptography, pandas)를 설치할 때 오류가 발생합니다. 설치 전에 반드시 해당 리눅스 배포판에 맞는 빌드 종속성 패키지를 모두 설치해야 합니다.
