동일 OS에서 Python 여러 버전 사용하기

Jeongkuk Seo
sjk5766
Published in
3 min readJan 9, 2019
Photo by David Clode on Unsplash

Pyhton으로 개발을 하다보면 여러 버전을 사용해야 하는 경우가 생각보다 꽤 있습니다. 가령 회사에서 오래전에 python 2.x 를 사용하다가 신규 기능개발에 꼭 필요한 모듈을 python 3.x만 지원한다. python 3.x는 2.x 에서 파이썬답지 않은 많은 것들을 버렸기 때문에 호환되지 않는 경우가 많습니다.

그렇다면 신규 기능을 위해 python 3.x으로 설치하고 호환되지 않는 부분을 변경할 것이냐? 그것도 하나의 선택이지만 OS에 두 버전의 python을 설치하여 해결할 수도 있습니다. 또한 여러 버전의 python을 사용하기 위한 방법들도 적지 않습니다. 대표적으로 virtualenv가 유명하고 pyenv도 괜찮았구요. 이런 방법들 외에도 그냥 설치해서 사용할 수 있습니다.

이 글에선 CentOS 6 기준으로 python 설치만 하여 두 버전을 사용하는 방법을 다루겠습니다.

우선 제가 VM으로 설치한 python 버전입니다.

[root@localhost ~]# python -V
Python 2.6.6

아래 사이트에서 원하는 버전을 다운로드 받습니다.

저는 위 사이트에서 2.7.5 를 설치해보겠습니다.

wget https://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.xz
./configure --prefix=/usr/local/python27 --enable-shared
make install

이 때 중요한게 설치 시 prefix 옵션으로 따로 폴더를 지정하지 않으면 기존의 설치된 python을 덮어쓰므로 꼭 설치할 python의 경로를 지정합니다. 설치 된 python 2.7.5의 바이너리와 라이브러리에 대한 PATH를 지정합니다.


// 설치한 python 바이너리를 찾을 경로설정
export PATH=$PATH:/usr/local/python27/bin
// 설치한 python 바이너리가 찾을 라이브러리 경로설정
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/python27/lib

이제 동일 OS에 두 가지의 python이 설치된 것을 확인할 수 있습니다.

[root@localhost bin]# python -V
Python 2.6.6
[root@localhost bin]# python2.7 -V
Python 2.7.5

--

--