python2升級python3


需求:

centos環境,python2.7需要升級為python3.x


1.請先手動(再次)安裝 openssl 。否則你升級之后,你的pip不能下載,會各種報錯的。

比如這種錯誤:

ImportError: Entry point ('console_scripts', 'easy_install') not found
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not avail

 pip報錯帖子1 pip報錯帖子2 pip報錯帖子3,報錯帖子4

 

執行 pip  -V 檢查 pip是pip2的還是pip3的。

隨便安裝一個模塊,看看是否會報錯。(我們假設你這里是指向pip3的pip命令,因為你已經安裝了Python3嘛)

比如:

pip  install   lxml 

 

如何安裝 openssl,請看這里:https://www.cnblogs.com/music-liang/p/11888672.html

 

 


 

 

安裝完openssl之后,請繼續往下看:

 


如果你對 環境變量了解,對軟鏈接不熟悉,請先看完這個介紹:

環境變量

linux下面可以直接運行的某些命令,是因為這些命令都在 環境變量 指定的路徑下面,而這個路徑,就是  /usr/bin/

例如 /usr/bin/  下面有一個python文件,那么,你就可以正常地在終端(terminal)運行 python命令

[root@VM_0_10_centos python3]# ls -la  /usr/bin | grep python 
lrwxrwxrwx    1 root root          7 Mar 26  2018 python -> python2.7
lrwxrwxrwx    1 root root          9 Mar 26  2018 python2 -> python2.7
-rwxr-xr-x    1 root root       7136 Aug  4  2017 python2.7

軟鏈接(快捷方式)

就類似於windows里面的快捷方式。 軟連接相關命令是  ln -s 。具體請參考這里。

你會發現,我這里有2個軟鏈接(快捷方式),分別是python, python2( 有 ->  符號的那2個),它們都是python2.7這個文件的軟鏈接(快捷方式)。

我們待會會安裝python3,然后在這里 ( /usr/bin )放一個名叫python的軟連接(快捷方式)。

目前,請先不要刪除。。。安裝完成后再來做這一步操作。

 


 

環境變量和軟連接的介紹到此完畢,下面進入正題:

用root權限賬號登錄,執行下面的安裝名。

 

1.下載最新版本的python

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz

 

2.解壓。解壓出來的文件是Python-3.8.0(不同版本,名稱不一樣)

tar -zxvf Python-3.8.0.tgz

 

3.進入Python-3.8.0文件夾

cd  Python-3.8.0

 

4.創建Python3的安裝路徑

mkdir  /usr/local/python3

 

5.運行(Python-3.8.0文件夾)里面的配置腳本

./configure --prefix=/usr/local/python3 --enable-optimizations --with-openssl=/usr/local/openssl/

 

 

 

6.編譯 (直接輸入make命令,按下回車鍵就好)

make 

make test

 

6.1可能的報錯:

我安裝3.5版的時候,沒有報錯。但是安裝3.7版本的時候,有個報錯

錯誤如下:

Failed to build these modules:_ctypes binascii   

解決方案,安裝 libffi-devel 

yum install libffi-devel -y

如果你在剛才的過程中出錯了,請記得在安裝了 libffi-devel之后執行 make clean  清理工程;然后重新make 編譯工程。

 

 

7.安裝

make install

 

8.如果報錯了

8.1.如果是 zlib錯誤,請安裝 zlib

可能的報錯信息:
zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] Error 1

安裝 zlib命令如下:

yum -y install zlib* 

8.2 如果是其他的報錯,請仔細閱讀報錯的英文信息,動手解決問題。

或者去互聯網上搜素,如何解決這個報錯。

 

問題解決之后,執行  make install  ,安裝python3.

 

9.到這里,假設您已經成功安裝了python3

此時查看python,你會看到,還是之前的python2.x。

因為python3還未加入到環境變量下面,系統沒法運行python3。

 

10.刪除 環境變量 (/usr/bin)下面的  python 軟鏈接(快捷方式),創建Python3的軟鏈接(快捷方式)

如果你不清楚這里說的環境變量(/usr/bin),軟鏈接等概念,請回到開頭再看看前面提到的信息。

刪除舊的python快捷方式(之前由python2創建的)
rm /usr/bin/python
創建我們Python3的軟鏈接(快捷方式),這次我們創建2個

ln
-s /usr/local/python3/bin/python3 /usr/bin/python3 ln -s /usr/local/python3/bin/python3 /usr/bin/python

 

11.輸入終端(terminal) python  -V ,來驗證 python3是否安裝成功。

你還可以輸入python3 -V,會有同樣的效果,這個也是合法的命令。

 

12.yum 被影響了,修改回來

/usr/bin/yum
/usr/libexec/urlgrabber-ext-down

yum需要python2.x來解釋執行。

這2個文件的第1行,將python 改為  python2.7(如果你的2.x版本不同,就輸入你的python名稱)

請好好理解  環境變量、軟鏈接(快捷方式)的概念。你就會知道如何修改這里了。

 

13.大功告成

  祝你學習進步,學有所成。

 

參考鏈接:https://stackoverflow.com/questions/27022373/python3-importerror-no-module-named-ctypes-when-using-value-from-module-mul

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM