Linux 환경에서 Python 3.5.6 소스 코드를 활용한 설치 및 pip 설정

Python 3 설치 전 준비 작업

리눅스 서버에 Python 3를 소스 코드로부터 직접 컴파일하여 설치하려면 먼저 필요한 개발 도구와 라이브러리를 설치해야 합니다. 이 과정을 생략하면 컴파일 중 오류가 발생할 수 있습니다.

필수 개발 패키지 설치

CentOS 또는 RHEL 계열 시스템에서는 yum을 사용해 기본 개발 툴셋과 의존성 패키지를 설치합니다.

yum groupinstall "Development Tools" -y
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi-devel -y

위 명령어는 컴파일에 필요한 헤더 파일들과 라이브러리들을 함께 설치합니다.

Python 3.5.6 소스 다운로드 및 컴파일

공식 Python 아카이브에서 원하는 버전의 소스 압축 파일을 내려받습니다.

wget https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tgz

압축을 풀고 디렉터리로 이동합니다.

tar -zxvf Python-3.5.6.tgz
cd Python-3.5.6

설치 경로 지정 후 빌드

사용자 지정 경로에 설치하기 위해 --prefix 옵션을 사용합니다. 이 예제에서는 /usr/local/python3를 기준으로 합니다.

./configure --prefix=/usr/local/python3
make && make altinstall

make altinstall을 사용하는 이유는 기존 시스템의 Python 2.x와 충돌하지 않도록 하기 위함입니다. make install은 기본적으로 python 명령어를 덮어쓸 수 있으므로 주의가 필요합니다.

실행 명령어 등록: 심볼릭 링크 생성

새롭게 설치된 Python 3.5.6을 쉘에서 바로 호출할 수 있도록 심볼릭 링크를 만듭니다.

ln -s /usr/local/python3/bin/python3.5 /usr/bin/python3

이후 터미널에서 python3 명령어로 접근이 가능해집니다.

pip3 설치하기

Python 3 설치 후에는 패키지 관리자인 pip도 함께 설치해야 합니다. 하지만 이번 설치에서는 자동으로 포함되지 않을 수 있으므로 수동으로 설정합니다.

1단계: setuptools 설치

pip를 설치하기 전에 먼저 setuptools가 필요합니다.

wget --no-check-certificate https://pypi.org/packages/source/s/setuptools/setuptools-19.6.tar.gz
tar -zxvf setuptools-19.6.tar.gz
cd setuptools-19.6
python3 setup.py build
python3 setup.py install

2단계: pip-8.0.2 설치

이제 pip 소스를 다운로드하고 설치합니다.

wget --no-check-certificate https://pypi.org/packages/source/p/pip/pip-8.0.2.tar.gz
tar -zxvf pip-8.0.2.tar.gz
cd pip-8.0.2
python3 setup.py build
python3 setup.py install

pip 명령어 링크 설정

설치 후, 시스템 어디서나 pip3 명령어를 사용할 수 있도록 링크를 걸어줍니다.

ln -s /usr/local/python3/bin/pip3.5 /usr/bin/pip3

기존에 Python 2용 pip가 존재할 경우 충돌을 피하기 위해 pip 대신 pip3로 명명하는 것이 안전합니다.

자주 발생하는 문제 및 해결 방법

오류 1: gcc 미설치

컴파일 도중 다음과 같은 오류가 발생할 수 있습니다.

Unable to find command 'gcc'

이 경우 GCC 컴파일러가 설치되어 있지 않은 것이므로 아래 명령어로 설치합니다.

yum install -y gcc

오류 2: 심볼릭 링크 생성 실패

기존에 /usr/bin/pip가 존재할 경우 다음 오류가 발생할 수 있습니다.

ln: failed to create symbolic link '/usr/bin/pip': File exists

이 경우 기존 파일을 덮어쓰지 않고 pip3라는 별도 이름으로 링크를 생성하는 것이 좋습니다.

pip 최신 버전으로 업그레이드

설치 후 pip를 최신 상태로 유지하기 위해 다음 명령어를 실행합니다.

pip3 install --upgrade pip

이렇게 하면 최신 버전의 pip로 업데이트되어 보안 및 기능 측면에서 더 안정적입니다.

태그: python linux CentOS pip setuptools

6월 25일 02:02에 게시됨