yum升級python
1. centos7 yum安裝python3 和pip3
最簡單的辦法
1.yum源是支持python3.6,命令yum install -y python36
2.安裝環境工具即可
yum install -y python36-setuptools
yum install -y python36-pip
2. python 版本問題 yum 運行 報錯
原因:
這是因為yum採用python作為命令解釋器,這可以從/usr/bin/yum文件中第一行#!/usr/bin/python發現。而python版本之間兼容性不太好,使得2.X版本與3.0版本之間存在語法不一致問題。而CentOS 5自帶的yum採用的是python2.4,當系統將python升級到2.6或3.0後,出現語法解釋錯誤。
解決辦法:
很簡單,一是升級yum,一是修改yum的解釋器為舊版本python2.4(如果你沒有採用覆蓋升級的話)
升級yum的作法就不詳述了;
修改yum的解釋器為舊版本python2.4:
vi /usr/bin/yum
將第一行"#!/usr/bin/python" 改為 "#!/usr/bin/python2.4"即可
3. python2.7升級至python3.6
python2.7現在已經正式被放棄了,運行會報錯,所以得玩Python3版本了;
這里分享Centos7系統下將Python2.7升級3.6.9的方法,非常靠譜本人剛剛測試通過,看了老外的教程;
簡單三步,就能快速講過Python2+升級到Python3+;
第一步:安裝軟體倉庫
yum install centos-release-scl -yCOPY
第二步:YUM命令安裝Python3.6版本
yum install rh-python36COPY
此時用命令查看檢查python –version系統依然是Python2.7.5版本
第三步:將Python3.6+設為系統默認版本
sclenablerh-python36 bashCOPY
這個命令所執行的操作是調用腳本/opt/rh/rh-python36/enable,該腳本會自動更改系統Shell環境變數。
這個時候再用python –version命令檢查,系統的Python默認版本已經變成了Python 3.6.9
第四步:升級pip
原有的pip版本會很低,所以也需要升級一下,升級命令如下:
pip install --upgrade pip
4. 如何升級到python3版本並且安裝pip3及ipython3
准備:
Python-3.5.2.tar.xz
pip-8.1.2.tar.gz
setuptools-24.0.2.zip
步驟:
1、自定義編譯安裝python3.x版本
[html] view plain
tar Jxf Python-3.5.2.tar.xz
cd Python-3.5.2
./configure --prefix=/usr/local/Python3
make && make install
2、安裝pip3.x,安裝會提示需要setuptools模塊,所以需要先安裝setuptools模塊
[objc] view plain
tar zxf pip-8.1.2.tar.gz
tar zxf setuptools-24.0.2.zip
cd setuptools-24.0.2
ln -s /usr/local/Python/bin/python3 /usr/bin/python3
python3 setup.py install
cd ..
cd pip-8.1.2
python3 setup.py install
ln -s /usr/local/Python3/bin/pip3 /usr/bin/pip3
3、驗證模塊是否正常安裝
[html] view plain
python3 -m pip list
decorator (4.0.10)
ipython (4.2.1)
ipython-genutils (0.1.0)
pexpect (4.2.0)
pickleshare (0.7.2)
pip (8.1.2)
ptyprocess (0.5.1)
setuptools (24.0.2)
simplegeneric (0.8.1)
traitlets (4.2.2)
4、安裝ipython
[html] view plain
python3 -m pip install ipython
ln -s /usr/local/Python3/bin/ipython3 /usr/bin/ipython3
5、遇到的問題
a、安裝pip3的時候提示沒有zlib模塊
[html] view plain
yum install -y zlib-devel
./configure; echo $? ; make && make install
b、使用pip3的時候提示沒有HTTPSHandler模塊,提示信息如下,
ImportError: cannot import name 'HTTPSHandler
[html] view plain
yum install -y openssl-devel
然後再重新編譯安裝python3就可以了,安裝完成後就可以直接使用pip3了,不需要再重新編譯安裝pip3
5. 升級python3.4 執行yum 如下提示
這個是你升級過python,你把你原來的python 改過來就可以了。打個比方:
我升級了python3.6 ,我當時是ln -s usr/local/python3.6/bin/python3 /usr/bin/python
所以造成了報錯。你把原來備份的python改過來就可以了。
你升級過的python改成另外的名字就ok了。我的是ln -s usr/local/python3.6/bin/python3 /usr/bin/python3
6. 如何解決python升級後yum報錯
修改yum文件
#vi /usr/bin/yum
將 #!/usr/bin/python 修改為 #!/usr/bin/python2.6
以上方法解決問題後,由於手賤又安裝了python2.7.5,python3.4.5 還相信網上所說改了bash/profile,最後出現
-bash: /usr/bin/yum: /usr/bin/python2.6: bad interpreter: No such file
很明顯鏈接混亂找不到python2.6連接了
又按照不靠譜的重裝yum方法,yum徹底崩了
最後找到補救方法,只有兩行代碼。