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로 업그레이드 하는 이유는..

pip 땜시.. https://pip.pypa.io/en/stable/installing/

Do I need to install pip?

pip is already installed if you're using Python 2 >=2.7.9 




Posted by '김용환'

댓글을 달아 주세요