centos6.X升級python3.X方法
1、下載
# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
2、解壓
# tar -xvf Python-3.7.0.tgz
3、編譯、安裝
# mkdir /usr/local/python3
#yum -y install perl gcc make kernel-headers kernel-devel
# yum -y install libffi-devel
# yum -y install zlib*
# cd Python-3.7.0
# ./configure --prefix=/usr/local/python3
# make && make install
4、建立新版本的鏈接
# mv /usr/bin/python /usr/bin/python2.6.6
# ln -s /usr/local/python3/bin/python3 /usr/bin/python
# python -V
Python 3.7.0
在rhel6中安裝python3.7的時候報如下錯誤
ModuleNotFoundError: No module named ‘_ctypes‘報錯
是由於缺少libffi-devel開放庫導致,可通過一下方法安裝
rpm -ivh http://mirror.centos.org/centos/6/os/x86_64/Packages/libffi-devel-3.0.5-3.2.el6.x86_64.rpm
重新編譯安裝python源碼包即可
python升級帶來的yum異常
# yum
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
原因:這是因為yum采用python作為命令解釋器,這可以從/usr/bin/yum文件中第一行#!/usr/bin/python發現。而python版本之間兼容性不太好,使得2.X版本與3.0版本之間存在語法不一致問題。而CentOS 6自帶的yum采用的是python2.6,當系統將python升級到3.0后,出現語法解釋錯誤。
解決辦法:
很簡單,一是升級yum,一是修改yum的解釋器為舊版本python2.6(如果你沒有采用覆蓋升級的話)
升級yum的作法就不詳述了;
修改yum的解釋器為舊版本python2.6:
vi /usr/bin/yum
將第一行"#!/usr/bin/python" 改為 "#!/usr/bin/python2.6"即可
在Linux系統下 Python Shell 使用方向鍵會出現^[[A ^[[B ^[[C ^[[D的情況,這時我們需要安裝readline
#yum -y install readline-devel
然后重新編譯,安裝
#./configure --prefix=/usr/local/python3
# make && make install