Ubuntu에서 Python 3.7.4 직접 빌드하기: apt 말고 공식 tarball로 설치하는 법
2021년 1월, 당시 운영하던 Ubuntu 서버에서 특정 프로젝트가 Python 3.7.4를 요구했는데 apt 기본 저장소에는 해당 마이너 버전이 없었습니다. 결국 python.org 공식 소스 tarball을 직접 내려받아 configure·make로 빌드하는 방법을 선택했고, 그 과정을 단계별로 기록해 두었습니다. 이 글은 그 메모를 바탕으로 사전 라이브러리 설치부터 최종 버전 확인까지 전체 흐름을 정리한 것입니다.
1단계 — 사전 라이브러리 설치
Python 소스를 컴파일하려면 빌드 도구와 관련 개발 헤더·라이브러리가 미리 시스템에 있어야 합니다. 이 과정을 건너뛰면 이후 ./configure 또는 make 단계에서 오류가 발생할 수 있습니다.
아래 명령은 크게 세 그룹으로 나뉩니다: ① 패키지 목록 갱신 및 시스템 업그레이드, ② C 컴파일러·빌드 도구 설치, ③ Python 빌드에 필요한 개발 라이브러리 설치.
Ubuntu(또는 Putty 등 원격 터미널 환경)에서 터미널을 열고 아래 명령을 순서대로 입력합니다.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus # Ubuntu 18.04 이하 기준 — 20.04 이상은 아래 주의 참고
sudo apt-get install libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get install libssl-dev openssl
sudo apt-get install libffi-dev
⚠️ Ubuntu 20.04 이상 사용 중이라면:
python-dev,python-setuptools,python-pip,python-smbus는 Python 2 계열 패키지명입니다. Ubuntu 20.04 이상에서는 이 패키지들이 저장소에서 제거되어E: Unable to locate package python-dev오류가 발생합니다. 이 경우 해당 줄을sudo apt-get install build-essential python3-dev python3-setuptools로 대체하거나, 해당 줄만 건너뛰고 나머지 라이브러리 설치를 계속 진행하세요. 원문은 2021년 1월 Ubuntu 18 계열 환경을 기준으로 기록되었습니다.
update·upgrade·dist-upgrade 세 단계로 패키지 목록과 시스템을 최신 상태로 갱신합니다. 그 다음 build-essential(gcc·make 등 C 컴파일러 포함)과 함께, Python 빌드에 필요한 데이터베이스 헤더(libsqlite3-dev), 암호화 라이브러리(libssl-dev·openssl·libffi-dev), 터미널 UI·디버깅 헤더(libncursesw5-dev·libgdbm-dev·tk-dev) 등을 그룹별로 설치합니다. 설치 도중 [ y | n ] 프롬프트가 나오면 y를 입력하면 됩니다.
2단계 — wget으로 Python 공식 tarball 다운로드
Python 공식 사이트(python.org)의 릴리스 페이지에서 소스 tarball을 확인하고 내려받습니다.
공식 릴리스 페이지: https://www.python.org/downloads/release/python-374

위 URL로 접속하면 Python 3.7.4 릴리스 상세 페이지로 이동합니다.

페이지를 아래로 스크롤하면 다양한 파일 형식이 나열됩니다. 이 중 Linux/Unix 환경 소스 빌드에 사용하는 것은 Gzipped source tarball입니다. 해당 항목에 마우스를 올리면 아래 URL이 확인됩니다.
https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
python.org 공식 다운로드 페이지에서 제공하는 이 URL을 그대로 wget 명령에 붙여 서버에 직접 다운로드합니다.
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz

터미널에 위와 같이 다운로드 완료 메시지가 표시되면 파일을 정상적으로 받은 것입니다.
3단계 — tar·configure·make로 소스 빌드 및 설치
압축 해제
먼저 ls 명령으로 다운로드된 파일이 현재 디렉터리에 있는지 확인합니다.

파일이 확인되면 tar 명령으로 압축을 해제합니다. 각 플래그의 의미는 다음과 같습니다: x=압축 해제, v=진행 파일 목록 출력, f=파일 지정, z=gzip 형식.
tar xvfz Python-3.7.4.tgz
압축이 해제되는 동안 파일 목록이 터미널에 출력됩니다. 완료되면 다시 ls 명령으로 Python-3.7.4 디렉터리가 생성됐는지 확인합니다.

디렉터리 이동 및 configure 확인
Python-3.7.4 디렉터리가 확인되면 해당 디렉터리로 이동합니다.
cd Python-3.7.4
이동 후 ls 명령으로 configure 파일이 있는지 확인합니다. configure는 현재 시스템 환경을 점검해 빌드 설정을 생성하는 스크립트로, 이 파일이 있어야 다음 단계를 진행할 수 있습니다.

빌드 및 설치
아래 세 명령이 실제 빌드·설치를 담당합니다. 각 명령의 역할은 다음과 같습니다.
./configure— 현재 시스템 환경을 점검해 컴파일 설정 파일을 생성합니다.make— 소스 코드를 실제로 컴파일합니다. 시간이 상당히 오래 걸립니다.sudo make install— 컴파일 결과물을 시스템 경로(/usr/local/)에 설치합니다.
./configure
make
sudo make install
make 실행 중에는 터미널에 컴파일 진행 상황이 계속 출력됩니다. 완료될 때까지 터미널을 닫거나 원격 연결을 끊지 않도록 주의하면서 기다리면 됩니다.
4단계 — 버전 확인
설치가 끝나면 아래 명령으로 Python 버전을 확인합니다.
python3 -V
주의: 2021년 당시 Ubuntu 환경에는 기본적으로 Python 2.x 버전이 설치되어 있었습니다. python -V로 실행하면 Python 2.x 버전이 출력됩니다. 방금 소스 빌드로 설치한 Python 3.7.4를 확인하려면 반드시 python3 -V 를 사용해야 합니다.

위와 같이 Python 3.7.4가 출력되면 설치가 완료된 것입니다.
4단계까지 마쳤다면 기본 설치는 완료입니다. Ubuntu 버전이 다르거나 여러 Python 버전을 함께 쓸 계획이라면 아래 내용을 참고하세요.
운영 팁
[분석 영역] 이 섹션은 원문(2021년 1월 기록)에 없는 일반 참고 안내입니다. 환경에 따라 결과가 다를 수 있으니 가이드 수준으로 참고해 주세요.
Python 2 계열 패키지에 관해: 1단계 설치 명령 중
python-dev,python-setuptools,python-pip,python-smbus는 Python 2 계열 패키지명입니다. Ubuntu 20.04 이상에서는 해당 패키지들이 저장소에서 제거되어 있으므로python3-dev,python3-setuptools로 대체하거나 해당 항목은 건너뛰고 진행하세요.
sudo make install의 설치 위치에 관해: 이 명령은 시스템 전역(/usr/local/)에 Python을 설치합니다. 일반적으로/usr/local/bin/python3.7형태로 기존 환경과 별도로 설치되지만, OS 환경에 따라 기존 Python과 충돌이 발생할 가능성이 있습니다. 여러 Python 버전을 함께 운용할 계획이라면 버전 관리 도구(예: pyenv)를 검토해 보시는 편이 안전할 수 있습니다.다른 마이너 버전이 필요한 경우: 원문은 2021년 1월 시점의 기록입니다. 동일한 절차로 다른 마이너 버전도 설치할 수 있습니다.
wgetURL의3.7.4부분과cd Python-3.7.4디렉터리명을 원하는 버전으로 교체하면 동일한 흐름이 적용됩니다. 단, 해당 버전이 python.org 공식 사이트에서 실제로 제공 중인지 먼저 확인하시기 바랍니다.
마무리
wget → tar → configure → make → make install로 이어지는 소스 빌드 흐름은 2021년이나 지금이나 동일합니다. apt 저장소가 원하는 마이너 버전을 바로 제공하지 않는 상황에서 참고하시기 바랍니다. 소스 빌드를 처음 시도할 때는 make 완료까지 생각보다 시간이 걸리는 게 당연하니, 느긋하게 기다리면서 따라가보세요.
참고 출처
- Python 3.7.4 공식 릴리스 페이지 (1차 출처 — official docs): https://www.python.org/downloads/release/python-374 — python.org에서 제공하는 Gzipped source tarball(
Python-3.7.4.tgz) 다운로드 경로 확인 - 원문 참고 출처: [[Python] Ubuntu에 Python 3.7 설치하기! — somjang.tistory.com](https://somjang.tistory.com/entry/PythonUbuntu에-Python-37-설치하기)