리눅스/LFS

[LFS14] Python3 빌드

sik13579 2026. 4. 21. 16:22

1. Python3 패키지 역할

  1. 빌드 도구 및 자동화 기반
    •  LFS 과정에서 일부 패키지들은 내부적으로 Python 스크립트를 사용해서 아래와 같은 작업을 합니다
      • 설정(configure 보조)
      • 테스트 스위트 실행
      • 코드 생성
    • 최근 패키지들 meson, ninja, gdb, systemd 계열 등에서 Python 의존성이 있습니다.
    • 즉, 컴파일을 돕는 보조 언어 역할을 합니다.
  2. 테스트 프레임워크 지원
    • 많은 패키지에서 make check 실행 시 Python을 사용
    • 테스트 자동화 스크립트들이 Python 기반
    • 없으면 테스트 실패 또는 일부가 스킵됨
  3. 시스템 유틸리티 스크립트 실행
    • 일부 시스템 도구들이 Python으로 작성됨
      • 예: 일부 관리 스크립트, 빌드 헬퍼
    • LFS이후 BLFS단계에서 더욱 중요해질 예정

2. Python3 패키지 구성

Python3 패키지는 꽤 많은 구성 요소로 이루어져 있습니다. 간단하게 살펴보겠습니다.

  1. 인터프리터
    • Python 코드를 실행하는 핵심 엔진
python3 script.py # C로 구현된 CPython
  1. 표준 라이브러리
    • Python 설치 시 기본 포함되는 라이브러리들
    • 대표적으로 
      • os → 파일/프로세스 제어
      • sys → 인터프리터 제어
      • subprocess → 외부 프로그램 실행
      • socket → 네트워크
      • json, re, math 등 이있다.
    • 별도 설치 없이 바로 사용 가능하며, LFS 빌드/테스트에서 많이 사용된다.
  2. 바이트코드 시스템
  3. 빌드 및 확장 모듈 시스템
  4. 패키지 관리 도구
  5. 개발 도구 및 유틸리티
  6. 설정 및 환경 파일이 존재합니다.

3. Python3 패키지 설치

1. 소스 준비 및 이동 (lfs 유저)

cd $LFS/sources
tar -xvf Python-3.14.2.tar.xz 
cd Python-3.14.2

 

2. 설정 (Configure)

./configure --prefix=/usr   \
            --enable-shared \
            --without-ensurepip

--without-ensurepip는 임시 빌드 단계에서 복잡한 패키지 관리자(pip) 설치를 생략하여 빌드 시간을 단축하고 의존성 문제를 방지하기 위함

 

3. 컴파일 및 설치

make
make DESTDIR=$LFS install

 

4. 뒷정리

cd $LFS/sources
rm -rf Python-3.14.2

 

5. 테스트

python3 --version #설치가 잘 됐는지 확인
python3 -c "print('hello')"

[그림1] Python3 설치 테스트

 

'리눅스 > LFS' 카테고리의 다른 글

[LFS16] Tar 패키지 빌드  (0) 2026.04.27
[LFS15] sed 패키지 빌드  (0) 2026.04.27
[LFS13] Perl 패키지 빌드  (0) 2026.04.21
[LFS12] Patch 빌드  (0) 2026.04.08
[LFS11] IANA-etc 패키지 빌드  (1) 2026.03.31