Linux From Scratch - Version 12.1-systemd | ||
---|---|---|
Chapter 8. Installing Basic System Software | ||
이전 | 위로 / 처음으로 | 다음 |
Libffi-3.4.4 | Flit-Core-3.9.0 |
Python 3 패키지에는 파이썬 개발 환경이 포함되어 있습니다. 객체 지향 프로그래밍, 스크립트 작성, 대규모 프로그램 프로토타입 제작, 전체 애플리케이션 개발에 유용합니다. Python은 interpreter 컴퓨터 언어입니다.
Python 컴파일을 준비합니다.
./configure --prefix=/usr \
--enable-shared \
--with-system-expat \
--enable-optimizations
패키지를 컴파일합니다.
make
이 시점에서 테스트를 실행하는 것은 권장하지 않습니다. 테스트는 부분적인 LFS 환경에서 중단되는 것으로 알려져 있습니다. 원하는 경우, 이 장의 마지막에 또는 파이썬 3을 BLFS에 다시 설치할 때 테스트를 다시 실행할 수 있습니다. 어쨌든 테스트를 실행하려면 make test를 실행합니다.
패키지를 설치합니다:
make install
이 책의 여러 곳에서 파이썬 3 프로그램과 모듈을 설치하기 위해 root 사용자로 pip3 명령을 사용합니다. 이는 가상 환경 또는 일반 사용자의 홈 디렉토리에 패키지를 설치(일반 사용자로 pip3를 실행)하라는 Python 개발자의 권장 사항과 상충됩니다. 루트 사용자가 pip3를 실행할 때마다 여러 줄의 경고가 출력됩니다.
일반 사용자로 설치를 권장하는 주된 이유는 시스템의 패키지 관리자(예: dpkg, emerge 등)와의 충돌을 피하기 위해서입니다. LFS에는 시스템 패키지 관리자가 없으므로 문제가 되지 않습니다. 또한 pip3는 실행될 때마다 새 버전을 확인합니다. 도메인 이름 확인은 아직 LFS chroot 환경에서 구성되지 않았으므로 pip3는 새 버전을 확인할 수 없으며 경고를 표시합니다.
LFS 시스템을 부팅하고 네트워크 연결을 설정하면 다른 경고가 표시되어 사용자에게 PyPI에 미리 빌드된 wheel에서 pip3를 업데이트(새 버전을 사용할 수 있을 때)하라고 알려줍니다. 그러나 LFS는 pip3를 파이썬 3의 일부로 간주하므로 별도로 업데이트해서는 안 됩니다. 또한 사전 빌드된 wheel에서 업데이트하면 소스 코드로부터 Linux 시스템을 구축하려는 우리의 목표에서 벗어날 수 있습니다. 따라서 새 버전의 pip3에 대한 경고도 무시해야 합니다. 원하는 경우 다음 명령을 실행하여 구성 파일을 생성함으로써 이러한 모든 경고를 표시하지 않을 수 있습니다:
cat > /etc/pip.conf << EOF
[global]
root-user-action = ignore
disable-pip-version-check = true
EOF
중요
LFS와 BLFS에서는 일반적으로 pip3 명령으로 파이썬 모듈을 빌드하고 설치합니다. 두 책 모두에서 pip3 설치 명령은 root 사용자로 실행(파이썬 가상 환경용이 아닌 경우)해야 합니다. 루트 사용자가 아닌 사용자로 pip3 install을 실행하면 잘 작동하는 것처럼 보일 수 있지만 다른 사용자가 설치된 모듈에 액세스할 수 없게 됩니다.
pip3 install은 이미 설치된 모듈을 자동으로 다시 설치하지 않습니다. pip3 install 명령을 사용하여 모듈을 업그레이드할 때(예: meson-0.61.3에서 meson-0.62.0으로) 명령줄에 –upgrade
옵션1)을 삽입하세요. 만약 어떤 이유로 인해 모듈을 다운그레이드하거나 동일한 버전을 다시 설치해야 하는 경우 명령줄에 –force-reinstall –no-deps
를 입력합니다.
원하는 경우 미리 형식화된 문서를 설치합니다.
install -v -dm755 /usr/share/doc/python-3.12.2/html
tar --no-same-owner \
-xvf ../python-3.12.2-docs-html.tar.bz2
cp -R --no-preserve=mode python-3.12.2-docs-html/* \
/usr/share/doc/python-3.12.2/html