網上帖子一大堆,按照那些教程操作,確實可以成功安裝。但是安裝成功之后呢,pip還是用的python2的pip。
切換到python3的pip之后,發現無法下載模塊,還會有很多報錯信息。以及"require TLS/SSL, however the ssl module in Python is not avail"等等的錯誤。(文章最下面列出了安裝過程中遇到的7類錯誤)
下面開始介紹閉坑的步驟:
操作系統:
centos6。
一、正式安裝前的准備工作:
1.重新安裝openssl
詳細教程,這篇文章有專門介紹,這里不再贅述。
https://www.cnblogs.com/music-liang/p/11888672.html
2.安裝 libffi-devel
yum install libffi-devel -y
3.安裝 zlib
yum -y install zlib*
二、開始正常的Python安裝流程
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/
請注意了,這里的ssl就是我們第1步里面安裝的那個openssl的路徑。
在這一步的時候,要特別注意,openssl是否已經在PATH環境變量里面。
關於安裝openssl的文章里面有提到這個環境變量的事情。
6.編譯Python
make
注意,如果你是第2次安裝,請先執行 make clean 命令清理工程,然后再執行 make 命令編譯工程。
如果一切正常,日志信息里面不會有錯誤。
也不會出現某些模塊找不到等信息。(如果這一步有問題,請在下方留言。並粘貼詳細的日志信息)
7.測試
make test
如果一切正常,日志信息里面不會有錯誤。
也不會出現某些模塊找不到等信息。(如果這一步有問題,請在下方留言。並粘貼詳細的日志信息)
8.安裝
make install
9.到這里假設你已經安裝好了Python3,接下來是配置環境變量
刪除舊的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
10.驗證Python命令是否ok
python -V
11.yum 被影響了,修改回來
11.1先查看之前舊版本的Python是什么版本的
ls -ls /usr/bin | grep python
例如,我這里舊版的Python是python2.7。
11.2我們需要創建這個舊版本的Python的一個軟連接(快捷方式)
ln -s /usr/bin/python2.7 /usr/bin/python2
11.3 修改下面2個文件
vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down
將第1行的python改為 python2。
12.將pip2改為pip3
rm /usr/bin/pip ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
這時候,運行pip命令,才是真正Python3的pip命令。
請注意,這里的 /usr/local/python3 就是我們自定義的python3的安裝路徑。
13.檢測Python版本、pip版本,驗證是否安裝成功,版本是否正確
python -V
pip -V
14.如果提示pip版本需要升級,可以把pip升級一下
pip install --upgrade pip
到這里,一次完整的安裝就結束了。如果您還有什么安裝報錯,請下方留言。或者重新看看是不是哪個地方漏掉了。
一次完整安裝介紹完之后,再說說安裝過程中出現的各種錯誤問題:
1.pip在Python目錄下面不存在,系統不認識pip命令。然后去網上搜帖子,如何安裝pip,結果就是安裝不成功。
2.pip無法安裝模塊。No package python-pip available.
3.however the ssl module in Python is not avail
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
4.No module named '_ctypes' when using Value from module
from _ctypes import Union, Structure, Array ModuleNotFoundError: No module named '_ctypes'
5.pkg_resources.DistributionNotFound: The 'pip==7.1.0' distribution was not found and is required by the application
6.Can't connect to HTTPS URL because the SSL module is not available.
7.Failed to build these modules:_ctypes binascii
如果你遇到了這些問題,莫慌。把這篇文章完整看一遍。
這里面的命令,全部執行下來,一般就OK了。
你還可以參考我另外一篇關於安裝的文章。請參考之前寫的一篇舊聞。