nugawiki

./os

CentOS Python 환경 구축

업데이트 2022-11-03 2분 소요 /OS/BACK-END #LINUX#PYTHON

설치

CentOS 6.x에서는 repo 지원이 끊겼으므로 곧바로 컴파일 설치를 해야 한다.

설치 전 필수 패키지

yum -y install gcc gcc-c++ openssl openssl-dev zlib zlib-devel libffi-devel

컴파일 설치


다운로드 및 압축 해제

wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar zxvf Python-3.6.9.tgz

(선택) OpenSSL이 컴파일로 설치된 경우

  • Configure 하기 전에 Modules/Setup.dist 파일을 수정해준다.
cd Python-3.6.9/Modules
vim Setup.dist

# 아래와 같이 주석을 풀어준다.
	_socket socketmodule.c
	
	# Socket module helper for SSL support; you must comment out the other
	# socket line above, and possibly edit the SSL variable:
	SSL=/usr/local/openssl
	_ssl _ssl.c \
	-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
	-L$(SSL)/lib -lssl -lcrypto

환경 구성

cd Python-3.6.9
./configure --enable-optimizations --prefix=/usr/local/python3.6 
# 위의 SSL 설정했을 시 아래 내용 추가
--with-ensurepip=yes CFLAGS="-I/usr/local/ssl/include" LDFLAGS="-L/usr/local/ssl/lib"

설치

### CPU 코어 수 확인
grep -c processor /proc/cpuinfo

make -j [코어 수]
make altinstall

버전 확인

/usr/local/python3.6/bin/python3.6 -V

링크 수정

### 설치된 위치 확인
which python3.6

### 기존 Python 링크 확인 및 수정
cd /usr/bin
ls -al | grep python
ln -s /usr/local/bin/python3.6 python

yum 설치


CentOS 7.9의 Repository에서 지원하는 버전은 Python 3.6이 마지막임.

Repository 추가

yum install -y https://repo.ius.io/ius-release-el7.rpm

패키지 설치

yum install -y python36u python36u-libs python36u-devel python36u-pip

버전 확인

python3 -V

가상환경 구성

pip는 root 디렉토리를 디폴트로 설정되어 있으므로, root 또는 sudo로 사용하는 것은 위험하다. 가상환경 라이브러리인 Virutalenv를 사용하여 가상 사용자의 Home 디렉토리에서 패키지를 관리하는 것이 바람직하다.


가상환경 라이브러리 설치

pip install virtualenv
# 또는
pip3 install virtualenv

가상환경 활성화

# 
virtualenv [사용자명]
source [사용자명]/bin/activate

가상환경에서 원하는 패키지 설치

(사용자명)# pip install 서비스
# 패키지 설치 디렉토리 : [사용자홈]/lib/python3.6/
# 패키지 실행 디렉토리 : [사용자홈]/bin/python3.6/

가상환경 비활성화

deactivate

Trouble Shooting

세그멘테이션 오류 : Segmentaion Fault

python3 -m pip install sentencepiece