최근에 발표된 CentOS 7 에서는 Python 2.7.5 버전이 설치되어 있습니다. 하지만 CentOS 6.x 버전에서는 Python 2.6 버전이 설치되어 있어서 2.7 버전 소스 설치에 대해 정리했습니다.
Python 2.7 은 Python 2,x 대의 마지막 버전이 될 것입니다. 현재 Python 3.x 가 최신이지만 Python 2.x 대도 여전히 많이 쓰이고 모듈도 많이 있어서 지금도 많이 쓰입니다. 특히나 Python 2.7 은 다음과 같은 기능상의 변화가 있었습니다.
|
Updated module: The io library has been upgraded to the version shipped with Python 3.1. For 3.1, the I/O library was entirely rewritten in C and is 2 to 20 times faster depending on the task being performed. The original Python version was renamed to the _pyio module. |
1. Download and Unpack
|
cd /usr/src wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz tar xzf Python-2.7.8.tgz cd Python-2.7.8 |
2. Configure && make && install
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
# python 기능이 필요한 라이브러리 추가 설치. yum install -y valgrind-devel.x86_64 yum install -y sqlite-devel.x86_64 # Complie option For AMD 지정. export CFLAGS="-m64 -march=generic -D_GNU_SOURCE -fPIC -pipe -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" export CXXFLAGS="-m64 -march=generic -D_GNU_SOURCE -fPIC -pipe -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" export LDFLAGS=-L/usr/lib64 export LINKCC="gcc" # LDFLAGS for openssl if pkg-config openssl ; then export CFLAGS="$CFLAGS `pkg-config --cflags openssl`" export LDFLAGS="$LDFLAGS `pkg-config --libs-only-L openssl`" fi export CHOST="x86_64-pc-linux-gnu" export CC=gcc # configure ./configure --prefix=/usr/local/python2.7 \ --with-signal-module \ --with-threads \ --with-pth \ --with-fpectl \ --enable-shared \ --enable-unicode=ucs4 \ --with-valgrind \ --enable-big-digits \ --with-wctype-functions make make install |
3. Post
Python 설치를 시스템 Path 이외에 설치를 하였다면 시스템이 라이브러리를 인식할 수 있도록 설정을 해줘야 합니다.
|
cd /usr/local/python2.7; ln -s lib lib64 echo "/usr/local/python2.7/lib" > /etc/ld.so.conf.d/python27.conf ldconfig |
4. Setuptools 설치.
Python Setuptools 는 마치 yum 시스템과 비슷한 기능을 해줍니다. Python의 각종 모듈을 명령행으로 입력하면 저장소에서 찾아서 있다면 설치까지 해줍니다.
|
cd /usr/src wget http://peak.telecommunity.com/dist/ez_setup.py /usr/local/python2.7/bin/python ez_setup.py |
이렇게 설치를 하게되면 easy_install 명령어가 python2.7 bin 디렉토리에 설치가 됩니다. 예를들어서 pysqlite 모듈을 설치해 보겠습니다.
|
/usr/local/python2.7/bin/easy_install pysqlite Installed /usr/local/python2.7/lib/python2.7/site-packages/pysqlite-2.6.0-py2.7-linux-x86_64.egg Processing dependencies for pysqlite Finished processing dependencies for pysqlite |