[root@jmnote ~]# python -V
Python 2.4.3
128번째 줄: | 128번째 줄: | ||
:기존 버전이 2.4이였다면 <code>#!/usr/bin/python</code> → <code>#!/usr/bin/python2.4</code> | :기존 버전이 2.4이였다면 <code>#!/usr/bin/python</code> → <code>#!/usr/bin/python2.4</code> | ||
:기존 버전이 2.6이였다면 <code>#!/usr/bin/python</code> → <code>#!/usr/bin/python2.6</code> | :기존 버전이 2.6이였다면 <code>#!/usr/bin/python</code> → <code>#!/usr/bin/python2.6</code> | ||
<source lang=' | <source lang='cli'> | ||
[root@jmnote ~]# cp /usr/bin/yum /usr/bin/yum_old | [root@jmnote ~]# cp /usr/bin/yum /usr/bin/yum_old | ||
[root@jmnote ~]# sed -i 's/\/usr\/bin\/python/\/usr\/bin\/python2.6/g' /usr/bin/yum | [root@jmnote ~]# sed -i 's/\/usr\/bin\/python/\/usr\/bin\/python2.6/g' /usr/bin/yum | ||
151번째 줄: | 151번째 줄: | ||
*사실 원상복구는 아니다... | *사실 원상복구는 아니다... | ||
:기존과 완전히 동일한 버전은 아니지만 yum이 의존성을 잘 맞춰줘서 별 문제 없을 것이다. | :기존과 완전히 동일한 버전은 아니지만 yum이 의존성을 잘 맞춰줘서 별 문제 없을 것이다. | ||
<source lang=' | <source lang='cli'> | ||
[root@jmnote ~]# yum reinstall python | [root@jmnote ~]# yum reinstall python | ||
... (생략) | ... (생략) | ||
168번째 줄: | 168번째 줄: | ||
Is this ok [y/N]: y | Is this ok [y/N]: y | ||
</source> | </source> | ||
<source lang=' | <source lang='cli'> | ||
... (생략) | ... (생략) | ||
Installed: | Installed: | ||
175번째 줄: | 175번째 줄: | ||
Complete! | Complete! | ||
</source> | </source> | ||
<source lang=' | <source lang='cli'> | ||
[root@jmnote ~]# python -V | [root@jmnote ~]# python -V | ||
Python 2.6.6 | Python 2.6.6 |
2015년 1월 21일 (수) 20:38 판
✔️ CentOS 5 + Python 2.4( → Python 2.7 )에서 테스트하였습니다.
✔️ CentOS 6 + Python 2.6( → Python 2.7 )에서 테스트하였습니다.
- upgrading python to 2.7
- 파이썬 2.7 업그레이드
- 파이썬 2.7로 업그레이드
- Python 컴파일 설치
1 설치된 버전 확인
파이썬 버전 확인 문서를 참고하십시오.
Copy
Copy
[root@jmnote ~]# python -V
Python 2.6.6
2 설치할 버전 확인
- http://www.python.org/ftp/python/ 접속하여 원하는 버전이 있는지 확인하자.
- 이 문서에서는 2.7.9로 실습
3 다운로드 및 설치
- 명령어
Bash
Copy
NEW_VER=2.7.9
cd /usr/local/src
wget --no-check-certificate -N http://www.python.org/ftp/python/$NEW_VER/Python-$NEW_VER.tgz
tar xzf Python-$NEW_VER.tgz
cd Python-$NEW_VER
./configure
make
make altinstall
- 실행예시
Copy
[root@jmnote ~]# NEW_VER=2.7.9
[root@jmnote ~]# cd /usr/local/src
[root@jmnote src]# wget --no-check-certificate -N http://www.python.org/ftp/python/$NEW_VER/Python-$NEW_VER.tgz
... (생략)
100%[===================================================>] 16,657,930 10.3M/s in 1.5s
2015-01-21 20:24:50 (10.3 MB/s) - “Python-2.7.9.tgz” saved [16657930/16657930]
Copy
[root@jmnote src]# tar xzf Python-$NEW_VER.tgz
[root@jmnote src]# cd Python-$NEW_VER
[root@jmnote Python-2.7.9]# ./configure
... (생략)
creating Modules/Setup
creating Modules/Setup.local
creating Makefile
Copy
[root@jmnote Python-2.7.9]# make
... (생략)
changing mode of build/scripts-2.7/2to3 from 644 to 755
changing mode of build/scripts-2.7/smtpd.py from 644 to 755
/usr/bin/install -c -m 644 ./Tools/gdb/libpython.py python-gdb.py
Copy
[root@jmnote Python-2.7.9]# make altinstall
... (생략)
Writing /usr/local/lib/python2.7/lib-dynload/Python-2.7.9-py2.7.egg-info
rm /usr/local/lib/python2.7/lib-dynload/_sysconfigdata.py*
/usr/bin/install -c -m 644 ./Misc/python.man \
/usr/local/share/man/man1/python2.7.1
if test "xno" != "xno" ; then \
case no in \
upgrade) ensurepip="--altinstall --upgrade --no-default-pip" ;; \
install|*) ensurepip="--altinstall --no-default-pip" ;; \
esac; \
./python -E -m ensurepip \
$ensurepip --root=/ ; \
fi
4 바꿔치기
Copy
[root@jmnote Python-2.7.9]# cd
[root@jmnote ~]# ll /usr/bin/python*
-rwx------. 2 root root 9032 Jan 22 2014 /usr/bin/python
lrwxrwxrwx. 1 root root 6 May 26 2014 /usr/bin/python2 -> python
-rwx------. 2 root root 9032 Jan 22 2014 /usr/bin/python2.6
-rwxr-xr-x 1 root root 1418 Jan 22 2014 /usr/bin/python2.6-config
lrwxrwxrwx 1 root root 16 Sep 4 02:35 /usr/bin/python-config -> python2.6-config
lrwxrwxrwx 1 root root 3 Sep 4 02:23 /usr/bin/python-pip -> pip
Copy
[root@jmnote ~]# python -V
Python 2.6.6
[root@jmnote ~]# /usr/bin/python -V
Python 2.6.6
[root@jmnote ~]# /usr/local/bin/python2.7 -V
Python 2.7.9
구버전은 python_old로 이름을 바꾸고 신버전을 python이라는 이름으로 복사한다.
Copy
[root@jmnote ~]# mv /usr/bin/python /usr/bin/python_old
[root@jmnote ~]# cp /usr/local/bin/python2.7 /usr/bin/python
[root@jmnote ~]# python -V
Python 2.7.9
5 (옵션) yum 오류 고치기
yum이 제대로 작동하지 않는다…[1]
Copy
[root@jmnote ~]# 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 21 2015, 20:29:09)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)]
If you cannot solve this problem yourself, please go to
the yum faq at:
http://yum.baseurl.org/wiki/Faq
다음과 같이 /usr/bin/yum 파일을 수정하자.
- 기존 버전이 2.4이였다면
#!/usr/bin/python
→#!/usr/bin/python2.4
- 기존 버전이 2.6이였다면
#!/usr/bin/python
→#!/usr/bin/python2.6
Copy
[root@jmnote ~]# cp /usr/bin/yum /usr/bin/yum_old
[root@jmnote ~]# sed -i 's/\/usr\/bin\/python/\/usr\/bin\/python2.6/g' /usr/bin/yum
[root@jmnote ~]# diff /usr/bin/yum_old /usr/bin/yum
1c1
< #!/usr/bin/python
---
> #!/usr/bin/python2.6
Copy
[root@jmnote ~]# yum
... (생략)
--sec-severity=SEVERITY
Include security relevant packages, of this severity
--advisory=ADVISORY
Include packages needed to fix the given advisory
- → 이제 잘 된다.
6 (원상복구)
- 예전 버전으로 되돌리고 싶다면 yum에 있는 python으로 재설치하자.
- 사실 원상복구는 아니다...
- 기존과 완전히 동일한 버전은 아니지만 yum이 의존성을 잘 맞춰줘서 별 문제 없을 것이다.
Copy
[root@jmnote ~]# yum reinstall python
... (생략)
======================================================================================================
Package Arch Version Repository Size
======================================================================================================
Reinstalling:
python x86_64 2.6.6-52.el6 updates 74 k
Transaction Summary
======================================================================================================
Reinstall 1 Package(s)
Total download size: 74 k
Installed size: 78 k
Is this ok [y/N]: y
Copy
... (생략)
Installed:
python.x86_64 0:2.6.6-52.el6
Complete!
Copy
[root@jmnote ~]# python -V
Python 2.6.6
7 같이 보기
8 주석
- ↑ /usr/bin/yum도 파이썬 스크립트임
9 참고 자료
편집자 Jmnote Jmnote bot 103.147.208.88
로그인하시면 댓글을 쓸 수 있습니다.
ㅇㅇㅇ 2019-01-17
Jmnote 2016-07-25
… 2016-01-27
… 2016-01-19
… 2016-01-15
… 2016-01-12
- 분류 댓글:
- Python (25)
- 컴파일 설치 (6)
리눅스 Python 2.7 컴파일 설치 ― …리눅스 Python 2.7 컴파일 설치 ― …리눅스 Python 2.7 컴파일 설치 ― …리눅스 Python 2.7 컴파일 설치 ― …리눅스 Python 2.7 컴파일 설치 ― Jmnote리눅스 Python 2.7 컴파일 설치 ― ㅇㅇㅇ미운코딩새끼 ― 승호 도령미운코딩새끼 ― 불탄고등어미운코딩새끼 ― 김레이미운코딩새끼 ― 호박이미운코딩새끼 ― Junhg0211미운코딩새끼 ― 김왼손미운코딩새끼 ― 용딘이미운코딩새끼 ― Pinkcrimson유기농냠냠파이썬 ― 호박유기농냠냠파이썬 ― 이에스유기농냠냠파이썬 ― 이승현파이썬 global ― Jmnote파이썬 global ― John Jeong파이썬 global ― Jmnote파이썬 global ― John Jeong파이썬 global ― John Jeong파이썬 global ― John Jeong파이썬 global ― Jmnote파이썬 global ― John Jeong