4 리눅스(CentOS6.9)에 Python3.7.3 버전 설치하기

|

1 Python 설치하기

1-1 기본 라이브러리 설치

Python 설치 시 필요한 기본 라이브러리를 먼저 설치해야한다.

# yum -y install openssl

# yum -y install openssl-devel

# yum -y install bzip2-devel

# yum -y install sqlite-devel

# yum -y install zlib-devel

# yum -y install libffi-devel


⭐ python 3.7.x 버전에서는 libressl 2.6.4 이상이 필요하다.

다운로드 링크 : https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/

1, 최신 버전 소스다운

views

wget으로 다운받기 : # wget https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.9.2.tar.gz

[설치확인]

[root@localhost ~]# ls
libressl-2.9.2.tar.gz


압축 풀기 : # tar xvfz libressl-2.9.2.tar.gz

[확인]

[root@localhost ~]# ls
libressl-2.9.2  libressl-2.9.2.tar.gz


2, 빌드 환경 설정하기

압축 해제된 디렉토리로 들어가기 : # cd libressl-2.9.2

# ./configure --prefix=/usr/local/ssl

./configure 은 인스톨 하기 위한 환경을 설정하는 것

--prefix={경로} 는 컴파일 된 프로그램을 설치하는 위치


3, 컴파일 및 설치

# make

# make install


4, 공유 라이브러리 자동 로딩 설정

libressl을 공유라이브러리에 설정해줘야한다.


⭐ 잠깐! 공유라이브러리란!?!?

공유 라이브러리는 프로그램이 시작할때 적재되는 라이브러리이다.

공유 라이브러리가 제대로 설치된다면, 그다음에 시작하는 모든 프로그램은 자동적으로 새 공유 라이브러리를 사용한다.

프로그램들은 일반적으로 필요한 기능 중 특정 기능이 이미 구현되어 있으면 그 기능이 구현된 파일을 메모리에 올린 후 그 기능을 사용하게 된다.

이처럼 한 프로그램이라 하더라도 일반적으로 사용되는 여러 기능이 내부에서 다른 so 파일들을 통해서 이루어 지게 된다.

공유라이브러리와 연결된 프로그램을 실행하면 내부적으로 dynamic loader 프로그램이 먼저 동작해서 아래의 순서를 진행한다.

1, dynamic link된 공유 라이브러리 찾아 메모리에 로딩

2, entry function을 찾아 호출

3, 프로그램 실행

linux에서 공유라이브러리 로더 이름은 ld.so이다. 여기서 so는 shared object라는 뜻이다.


so 파일을 찾는 경로 설정은 일반적으로 3가지로 할 수 있다.

1. system default 경로
2. LD_LIBRARY_PATH
3. binary code 에 hard-coding 된 경로

1. system default
> 일반적으로 /usr/local/bin 과 /usr/bin 이다. 이 값은 /etc/ld.so.conf 파일에 설정이 된 값이다.
> 만약 내가 어떤 프로그램을 만들었고, 그것을 내 프로그램이 설치된 경로 밑의 lib 경로에 넣고 그것을 ld.so.conf 에 넣고 싶으면, /etc/ld.so.conf.d/ 경로 밑에 *.conf 파일 이름으로 저장 후 그 파일에 그 경로를 집어 넣으면 된다.

2. LD_LIBRARY_PATH - 환경변수 -> 권장되는 방법은 아님
/etc/profile파일에 아래 추가
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib

3. binary code 에 hard-coding 된 경로(매우 드문 경우)
> 개발자가 아예 소스코드에 so파일 경로를 설정해 버린 경우이다.
> 개발자가 직접 hard-coding한 경로에 so파일을 가져다 놓으면 된다.

나는 [1. system default 경로]로 설정을 해주었다.


먼저 2번 빌드환경 설정하기에서 --prefix={경로}로 지정해준 디렉토리로 들어가야한다.

# cd /usr/local/ssl/


위에서 설명한 것 처럼 ssl.conf파일을 만들어서 경로를 입력해준다.

# vi /etc/ld.so.conf.d/ssl.conf

/usr/local/ssl/lib 경로를 넣어주면 된다.

views


# ldconfig -v | grep ssl : 확인하기

views

자, 이제 기본 라이브러리 설치 및 설정을 마쳤다.

이제 파이썬 3.7.3버전을 설치해보자!

위의 libressl 설치 방법과 비슷하다.

1-2 Python 3.7.3 설치하기

1, python 다운로드

# cd

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

# tar xvfz Python-3.7.3.tgz


#### 2, 빌드

# cd Python-3.7.3

# ./configure --prefix=/usr/local/cafe24/python3.7.3 --with-openssl=/usr/local/ssl --enable-shared

빌드환경 구성시 openssl를 공유라이브러리에서 사용할 것이며, 아파치도 사용해야하니 –enable–shared 설정을 넣어준다.


2-2, 설치

# make

make후에 체크해봐야 할 것이있다.

찾을 수 없는 모듈 목록에 ssl이 있으면 안된다. 없으므로 성공!

views

# make install


#### 3, 공유 라이브러리 로딩 설정

# vi /etc/ld.so.conf.d/python.conf에 /usr/local/cafe24/python3.7/lib를 넣어준다.

views

# ldconfig -v | grep python : 확인해보기

views


4, 링크설정

위의 python.conf 파일에서 설정해준 경로는 python3.7이므로, 해당 경로에 맞게 python3.7 -> python3.7.3 링크 설정을 해주자!

# cd /cafe24

# ln -s python3.7.3/ python3.7


5, PATH 작업

python 홈을 path 에 등록해주어야 한다.

# vi /etc/profile

export PATH=$PATH:/usr/local/cafe24/python3.7/bin 넣어주기

views

:wq로 나오기

# source /etc/profile : 재시작


6, python 설치 완료!

# python3 --version

views