IT·개발

Ubuntu에서 Python 3.7.4 직접 빌드하기: apt 말고 공식 tarball로 설치하는 법

5월 16, 2026 2 min read

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-smbusPython 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

Python 공식 사이트 다운로드 페이지에서 Python 3.7.4 릴리스 항목을 보여주는 화면

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

Python 3.7.4 릴리스 페이지를 아래로 스크롤하면 나타나는 Gzipped source tarball 다운로드 링크 화면

페이지를 아래로 스크롤하면 다양한 파일 형식이 나열됩니다. 이 중 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
Ubuntu 터미널에서 wget 명령으로 Python-3.7.4.tgz 파일 다운로드가 완료된 화면

터미널에 위와 같이 다운로드 완료 메시지가 표시되면 파일을 정상적으로 받은 것입니다.


3단계 — tar·configure·make로 소스 빌드 및 설치

압축 해제

먼저 ls 명령으로 다운로드된 파일이 현재 디렉터리에 있는지 확인합니다.

Ubuntu 터미널에서 ls 명령으로 현재 디렉터리에 Python-3.7.4.tgz 파일이 있음을 확인하는 화면

파일이 확인되면 tar 명령으로 압축을 해제합니다. 각 플래그의 의미는 다음과 같습니다: x=압축 해제, v=진행 파일 목록 출력, f=파일 지정, z=gzip 형식.

tar xvfz Python-3.7.4.tgz

압축이 해제되는 동안 파일 목록이 터미널에 출력됩니다. 완료되면 다시 ls 명령으로 Python-3.7.4 디렉터리가 생성됐는지 확인합니다.

Ubuntu 터미널에서 tar 압축 해제 후 ls 명령으로 Python-3.7.4 디렉터리가 생성된 것을 보여주는 화면

디렉터리 이동 및 configure 확인

Python-3.7.4 디렉터리가 확인되면 해당 디렉터리로 이동합니다.

cd Python-3.7.4

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

Ubuntu 터미널에서 Python-3.7.4 디렉터리 내부를 ls로 확인해 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 를 사용해야 합니다.

Ubuntu 터미널에서 python3 -V 명령으로 새로 설치한 Python 3.7.4 버전이 출력된 화면

위와 같이 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월 시점의 기록입니다. 동일한 절차로 다른 마이너 버전도 설치할 수 있습니다. wget URL의 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-설치하기)