環境:centos6.5
centos6.5 自帶的 python 版本是 2.6.6,需要重新安裝 2.7;
centos7 自帶的 python 版本是 2.7.5
基本操作
在安裝新版本之前,一定要先執行如下操作
yum install -y zlib-devel bzip2-devel xz-libs wget openssl openssl-devel
如果你沒有執行該操作就安裝了,刪掉重來,不聽話后果自負
然后安裝新版本
# 下載 python tar 包 # 解壓 # cd 到解壓目錄 # ./configure --prefix=/usr/lib/python27 --enable-shared # prefix 參數指定要將 python 安裝到哪個目錄 # enable-shared 是必須要寫的,否則后面會遇到錯誤提示:Command failed with rc=65536 # make //編譯你的源代碼,並生成執行文件 # make install //把生成的執行文件拷貝到 linux 系統中必要的目錄下,比如拷貝到 /usr/lib/bin 目錄下,這里相當於創建 python 的快捷方式
然后,我們在 安裝目錄 /usr/lib/python27 的 bin 目錄下就能看到 python 可執行文件,執行 python 【下面我把可執行文件叫做快捷方式,便於理解】
[root@hadoop10 distribute-0.7.3]# cd /usr/lib/python27 [root@hadoop10 python27]# ls bin include lib share [root@hadoop10 python27]# cd bin [root@hadoop10 bin]# ls -l total 56 ... lrwxrwxrwx. 1 root root 7 Oct 1 22:59 python -> python2 lrwxrwxrwx. 1 root root 9 Oct 1 22:59 python2 -> python2.7 -rwxr-xr-x. 1 root root 9744 Oct 1 22:57 python2.7 -rwxr-xr-x. 1 root root 1694 Oct 1 22:59 python2.7-config ... [root@hadoop10 bin]# python Python 2.7.12 (default, Oct 1 2019, 01:09:22) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
可以看到 版本是 2.7
如果不是我上述所說,說明你安裝錯誤,重試。
但是我們在其他目錄 執行 python,並不是 更新后的 2.7,而是之前的版本,我們還需做如下操作
rm /usr/bin/python # 刪除老版本的快捷方式 ln -s /usr/lib/python27/bin/python /usr/bin/python # 把新版本的快捷方式鏈接過來
/usr/bin 下存放的是系統默認的 python,所以需要把 這個 python 鏈接到 新版 python 的快捷方式
此時隨便在哪個目錄執行 python,進入的都是 新版 python。
或許你還需要設置環境變量,這是額外的步驟,不屬於 python 安裝的范疇,不再贅述。
查看 python 可執行文件的位置
[root@hadoop10 ~]# which python /usr/bin/python
異常記錄
異常一
libpython2.7.so.1.0: cannot open shared object file: No such file or directory
沒找到 這個文件
解決方法:添加這個文件的路徑,這個文件就在 python 安裝目錄的 lib 下
# root 權限 vi /etc/ld.so.conf 添加上python2.7的 lib 庫地址,如我的/usr/lib/Python27/lib,保存文件
然后還要執行如下操作
/sbin/ldconfig -v
異常二
yum 無法使用或無法安裝
解決方法:參考我的博客 yum 安裝 異常記錄
異常三
pip 等 python 包安裝工具無法使用
解決方法:參考我的博客 包管理工具
參考資料:
https://www.cnblogs.com/lclq/archive/2016/06/27/5620196.html