centos7 默認安裝python2.7.5
- 強制刪除已安裝python及其關聯
[root@yang~]# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps
- 刪除殘餘文件
[root@yang~]# whereis python|xargs rm -frv
執行命令後導致服務器上的yum命令和python命令都無法使用。出現以下報錯:
[root@yang~]# python -V
-bash: /usr/bin/python: No such file or directory
[root@yang~]# yum
-bash: /usr/bin/yum: No such file or directory
- 創建python2.7.5的文件目錄 並進入目錄下載文件
[root@yang~]# mkdir -p /usr/local/python2.7.5/
[root@yang~]# cd /usr/local/python2.7.5
---------------------------------------------------------------------------------------------------------------------
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/lvm2-python-libs-2.02.177-4.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-libs-2.7.5-68.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-ipaddress-1.0.16-2.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-backports-1.0-8.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-2.7.5-68.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-iniparse-0.4-9.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-pycurl-7.19.0-19.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-urlgrabber-3.10-8.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-setuptools-0.9.8-7.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-kitchen-1.1.1-5.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/python-chardet-2.2.1-1.el7_1.noarch.rpm<br>
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/rpm-python-4.11.3-32.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-utils-1.1.31-45.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-3.4.3-158.el7.centos.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-plugin-aliases-1.1.31-45.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-plugin-protectbase-1.1.31-45.el7.noarch.rpm
wget http://vault.centos.org/7.5.1804/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.31-45.el7.noarch.rpm
---------------------------------------------------------------------------------------------------------------------
- 進行安裝
[root@yang~]# rpm -Uvh --replacepkgs lvm2-python-libs*.rpm --nodeps --force #--nodeps --force表示僅安裝當前的,不考慮安裝所需的依賴
[root@yang~]# rpm -Uvh --replacepkgs python*.rpm --nodeps --force
[root@yang~]# rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm --nodeps --force
此時python2.7.5 就安裝好了,可以進行測試
[root@Rui ~]# python -V
Python 2.7.5
[root@Rui ~]# python
Python 2.7.5 (default, Apr 11 2018, 07:36:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
出現此界面就說明python2.7.5安裝完成
- 測試yum是否可以正常使用
[root@Rui ~]# yum install sshd
Loaded plugins: aliases, fastestmirror, langpacks, protectbase
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
0 packages excluded due to repository protections
No package sshd available.
Error: Nothing to do
[root@Rui ~]#
python2.7.5 升級 python3.5.3
[root@Rui ~]# mkdir -p /usr/local/python3.5.3 #創建python3.5.3目錄
[root@Rui ~]# cd /usr/local/python3.5.3 # 進入目錄
wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tgz #下載安裝包
tar -zxvf Python-3.5.3.tgz #解壓安裝包
/usr/local/python3.5.3/Python-3.5.3 #進入安裝目錄
./configure #編譯 或者用這句 ./configure --prefix=/usr/local/python-3.5.3 這個是指定安裝文件夾
make&&make install #安裝 要是安裝報錯的話 yum -y install gcc yum -y install openssl-devel yum -y groupinstall Development tools
make clean #清除臨時安裝文件 python3.5安裝完成之後的目錄是 /usr/local/bin 是因爲我沒指定的安裝文件夾的原因麼
mv /usr/bin/python /usr/bin/python.bak_python2.7.5 #備份原有python
ll /usr/bin |grep python #看一下python的軟連接 會發現有個python的連接
rm -rf /usr/bin/python #把這個刪掉 鏈接就沒有了
ln -s /usr/local/bin/python3.5 /usr/bin/python #重新建立個python3.5的連接 如果原本的鏈接沒刪 可以同時用兩個python 這句話就改成 ln -s /usr/local/bin/python3.5 /usr/bin/python3 輸入python還是2.7 輸入python3進入python3.5.3 應該是這樣的吧 沒試 我直接刪了
python -V #這樣發現版本是3.5.3了 但是直接輸入python想進入的話 可能就會出現問題了 也可能不出現
- 裝完之後要改些東西 yum用不了了 firewalld用不了了 改這些東西吧
vi /usr/bin/yum #修改開頭那裏 在python後面加個2.7
vi /usr/libexec/urlgrabber-ext-down #一樣的 改開頭的python 後面加個2.7 這個2.7是我電腦裏原來的版本 你得看你自己電腦裏的版本來改
vi /usr/sbin/firewalld #防火牆要是啓動不了 改這個 和前面一樣