一、下載python
# wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgzcentos
二、解壓spa
# tar -xvf Python-3.7.0.tgz get
三、編譯、安裝源碼
# mkdir /usr/local/python3 it
#yum -y install perl gcc make kernel-headers kernel-devel編譯
# yum -y install libffi-devel class
# yum -y install zlib*module
# cd Python-3.7.0兼容性
# ./configure --prefix=/usr/local/python3
# make && make install
四、創建新版本的連接
# 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