본문 바로가기

리눅스

CentOS 7에서 Python 3 버전을 소스 코드로 직접 컴파일하여 설치하는 방법

반응형

CentOS 7에서 Python 3 버전을 소스 코드로 직접 컴파일하여 설치하는 방법

CentOS 7은 기본적으로 Python 2.7이 설치되어 있습니다.

하지만 최신 애플리케이션 개발 환경이나 자동화 도구 사용을 위해 Python 3 환경이 필요한 경우가 있습니다.

테스트 환경

운영체제 정보

$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

Python 정보

$ which python
/bin/python

$ python --version
Python 2.7.5
주의
CentOS 7 시스템 명령 중 일부는 Python 2.7에 의존하고 있기 때문에 기존 /usr/bin/python을 변경하지 않는 것이 안전합니다.

1. Python 빌드에 필요한 패키지 설치

Python을 소스 컴파일하기 위해 필요한 개발 라이브러리를 설치합니다.

sudo yum install -y zlib-devel
더보기

---

개발 라이브러리 설치

sudo yum install -y \
  gcc \
  make \
  wget \
  openssl-devel \
  bzip2-devel \
  libffi-devel \
  zlib-devel

설치 후 버전 확인

gcc --version

---

2. Python 소스 다운로드

Python 공식 사이트에서 원하는 버전의 소스를 다운로드합니다.

cd /usr/local/src
sudo wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz
sudo tar xzf Python-3.9.13.tgz
cd Python-3.9.13

3. 기존 빌드 설정 초기화(빌드 실패 후 초기화)

이전에 빌드한 기록이 있다면 설정 파일과 생성된 결과물을 제거합니다.

sudo make clean
sudo rm -rf build

4. Python 빌드 환경 설정

설치 경로를 /usr/local/python3으로 지정합니다.

sudo ./configure --enable-optimizations --prefix=/usr/local/python3

옵션 설명

  • --prefix : Python 설치 경로 지정
  • --enable-optimizations : 성능 최적화 빌드 활성화
728x90

5. Python 컴파일 및 설치

컴파일

  • CPU 코어 수만큼 병렬 빌드하여 설치 시간을 줄입니다.
sudo make -j$(nproc)

설치

  • make install 대신 make altinstall을 사용하는 이유는 기존 시스템 Python 명령을 덮어쓰지 않기 위해서입니다.
sudo make altinstall
...
Installing collected packages: setuptools, pip
  WARNING: The script pip3.9 is installed in '/usr/local/python3/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-22.0.4 setuptools-58.1.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager.
It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

설치가 완료되면 다음 위치에 Python이 생성됩니다.

/usr/local/python3/bin/python3.9

6. Python3 명령어 등록

편리하게 python3 명령으로 실행할 수 있도록 심볼릭 링크를 생성합니다.

 

python3 명령어로 실행 가능하게 설정

sudo ln -s /usr/local/python3/bin/python3.9 /usr/local/bin/python3

pip3 명령어로 바로 설치 가능하게 설정

sudo ln -s /usr/local/python3/bin/pip3.9 /usr/local/bin/pip3

7. 설치 확인

Python3 버전을 확인합니다.

which python3
/usr/local/bin/python3

python3 버전 확인

python3 --version
Python 3.9.13

pip 설치 확인

pip3 --version
pip 22.0.4 from /usr/local/python3/lib/python3.9/site-packages/pip (python 3.9)

8. 기존 Python 확인

기존 시스템 Python은 그대로 유지됩니다.

python --version
Python 2.7.5

 

CentOS 7 환경에서는 시스템 Python 2.7을 유지하면서 별도의 Python 3 환경을 구성하는 방식이 안정적입니다.

make altinstall 방식을 사용하면 OS 기본 Python 환경을 보호하면서 최신 Python 버전을 독립적으로 사용할 수 있습니다.

 

참고URL

- Python Downloads : Python Source Releases

 

728x90
반응형