1. python 다운로드하기
$ wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
$ tar zxvf Python-2.7.9.tgz
$ cd Python-2.7.9/
$ ./configure --prefix=/usr/local --enable-shared
$ make
$ sudo make altinstall
python 2.7 있는지 확인
$ ls /usr/local/bin/python2.7
python 2.7을 실행하면 so(shared object) 파일 없다고 에러가 발생한다.
$ /usr/local/bin/python2.7
/usr/local/bin/python2.7: error while loading shared libraries: libpython2.7.so.1.0: cannot open shared object file: No such file or directory
$ ls -al /usr/local/lib/libpython2.7.so
/usr/local/lib/libpython2.7.so -> libpython2.7.so.1.0
2. python 2.7 실행
shared object관련 설정을 진행한다.
$ sudo ln -s /usr/local/lib/libpython2.7.so /usr/lib/libpython2.7.so.1.0
$ cat >> ~/.bash_profile
export LD_LIBRARY_PATH=/usr/local/lib
$ sudo vi /etc/ld.so.conf
include /usr/local/lib 추가
$ sudo ldconfig
$ /usr/local/bin/python2.7
Python 2.7.9 (default, Jan 29 2016, 21:43:51)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>> print 11
11
3. python 2.7.9 용 pip 설치
외부가 막혀있다면, 프록시 셋팅하기.
export https_proxy=...
pip 설치는 아래 글에 있다.
http://knight76.tistory.com/entry/python-python-279%EC%97%90-%ED%95%B4%EB%8B%B9%EB%90%98%EB%8A%94-pip-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0
$ /usr/local/bin/python2.7 setup.py build
Traceback (most recent call last):
File "setup.py", line 6, in <module>
from setuptools import setup, find_packages
ImportError: No module named setuptools
pip 설치 도중에 No module named setuptools이 발생한다.
4. setupmodule 설치 후, pip 설치하기
$ wget https://bootstrap.pypa.io/ez_setup.py
$ sudo -E /usr/local/bin/python2.7 ez_setup.py
$ /usr/local/bin/python2.7 setup.py build
성공
$ sudo -E /usr/local/bin/python2.7 setup.py install
성공 Finished processing dependencies for pip==6.0.6
테스트로 hadoopfs client인 snakebite를 pip로 설치한다.
$ sudo -E pip install snakebite
성공
5. python 버전을 2.7.9로 변경
$ sudo mv /usr/bin/python /usr/bin/python2.6.6
$ sudo ln -sf /usr/local/bin/python2.7 /usr/bin/python
$ ls -al /usr/bin/python
/usr/bin/python -> /usr/local/bin/python2.7
$ python
Python 2.7.9 (default, Jan 29 2016, 11:02:25)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
설치한 pip 모듈로 테스트하고 잘 되는지 확인
* 주의 할 점.
/usr/bin/yum이 실행이 안된다..
$ yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.7.9 (default, Jan 29 2016, 21:43:51)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)]
If you cannot solve this problem yourself, please go to
the yum faq at:
http://yum.baseurl.org/wiki/Faq
실행하려면, #!/usr/bin/python 를 #!/usr/bin/python2.6으로 변경해야 한다.
그러나 yum install python-devel 하는 순간 기존 python 버전(python 2.6)으로 되돌아 간다. python devel관련 lib 설치시 업그레이드 전에 설치해야 한다.
아니면, 바뀌더라도 다시 ln -sf 를 이용해서 원래대로 바뀐다.
아니면, virtual env를 사용해서 python 2.7.9용으로 따로 만들어서 사용해야 한다.
python 2.7.9로 업그레이드 하는 이유는..
Do I need to install pip?
pip is already installed if you're using Python 2 >=2.7.9