python2升级python3后_Centos7 Python2 升级到Python3
用習慣了linux的程序員們都知道,所以原來linux內核3以上的都自帶python2 ,然而,python3發布至今也十余年了,2020年1月1日? Python 2終于走到了盡頭,官方宣布不在維護python2。所以升級勢在必然。
博主環境:騰訊云? Centos7.5
一、更新python2 至python3
1. 從Python官網到獲取Python3的包, 切換到目錄/usr/local/src
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.5.tar.xz
由于博主是1M學習用的比較low帶寬的云主機,下載python3.7安裝包比較慢,最高15kb/s 最低1.8kb/s,當然重要原因也是因為python官方鏡像源在國外有關,總之,這一步花了40分鐘。
2. 使用命令如下命令進行解壓縮:
xz -d Python-3.7.5.tar.xz
tar -xf Python-3.7.5.tar
3. 在/usr/local路徑下創建目錄--python37, 為第4步的安裝目錄
mkdir /usr/local/python37
4. 編譯安裝(會自動安裝pip-7.1.2)
yum install -y zlib zlib-devel
yum install libffi-devel -y
復制代碼
cd? Python-3.7.5
./configure --prefix=/usr/local/python37
make all
make install
make clean
make distclean
復制代碼
5. 進入安裝的絕對路徑,檢查是否安裝成功
/usr/local/python37/bin/python3.7 -V
Python 3.7.2
6.查看環境變量,啟動python時默認按照PATH的順序進行查找,在/usr/bin中的python此時為Python2.7的。
echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/gordon/bin
7.修改軟連接,啟動python時指向python3.7
(1) 備份python
mv /usr/bin/python /usr/bin/python.bak
(2) 修改軟連接
ln -s /usr/local/python37/bin/python3 /usr/bin/python
8. 驗證默認是否啟動python3.7
python -V
Python 3.7.5
9. 升級完python之后,yum就不能用了,需要修改/usr/bin/yum,改為使用python2.7
vim?/usr/bin/yum
#!/usr/bin/python2.7
10.[root@centos75 ~]# vim /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python2
二、下載和安裝pip
1、安裝必要的依賴包(一般巨頭云鏡像包自帶了,除非原生版)
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
2、下載安裝setuptools
wget --no-check-certificate ?https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26
tar -zxvf?setuptools-19.6.tar.gz
cd?setuptools-19.6
python3 setup.py build
python3 setup.py install
3、下載安裝PIP
wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-19.2.3.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb
tar -zxvf pip-19.2.3.tar.gz
cd pip-19.2.3
python setup.py build
sudo python setup.py install
4、設置軟連接(非常關鍵)
ln -sv /usr/local/python37/bin/pip /usr/bin/pip
三、升級Openssl(解決No?module?named?_ssl問題)
1.下載最新版openssl
https://www.openssl.org/source/openssl-1.1.1-pre8.tar.gz
tar xf openssl-1.1.1-pre8.tar.gz
2.編譯安裝
cd openssl-1.1.1-pre8
./config--prefix=/usr/local/openssl no-zlib #不需要zlib
make
make install
3.備份原配置
mv/usr/bin/openssl? /usr/bin/openssl.bak
mv/usr/include/openssl/? /usr/include/openssl.bak
4.新版配置
#將安裝好的openssl 的openssl命令軟連到/usr/bin/openssl
[root@aaa]# ln-s/usr/local/openssl/include/openssl? ? /usr/include/openssl
#軟鏈到升級后的libssl.so
[root@aaa]# ln-s/usr/local/openssl/lib/libssl.so.1.1? ? /usr/local/lib64/libssl.so
#將安裝好的openssl命令軟連到/usr/bin/openssl
[root@aaa]#? ln-s/usr/local/openssl/bin/openssl? ?/usr/bin/openssl
5.修改系統配置
#寫入openssl庫文件的搜索路徑
echo"/usr/local/openssl/lib">>/etc/ld.so.conf
#使修改后的/etc/ld.so.conf生效
ldconfig-v
6.查看openssl版本
openssl version
OpenSSL1.1.1-pre8(beta)20Jun2018
重新安裝python
注意:需要指定openssl的安裝路徑,--with-openssl
./configure--prefix=/usr/local/python37--with-openssl=/usr/local/opensslmakemake install
總結
以上是生活随笔為你收集整理的python2升级python3后_Centos7 Python2 升级到Python3的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java int64如何定义_java
- 下一篇: websocket python爬虫_p