python3環境搭建
阿新 • • 發佈:2020-12-15
前因後果
業務需要 決定升級python2.7至python3
升級之前:
[root@shanghai-adminserver ~]# python -V
Python 2.7.5
升級之後:
[root@shanghai-adminserver ~]# python -V
Python 3.9.1
安裝步驟(原python2保留)
1、建立安裝目錄:
cd /usr/local
mkdir python3
2、下載安裝包,解壓:
wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz tar -xvf Python-3.9.1.tgz
3、安裝相關依賴
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 libffi-devel gcc
4、編譯、安裝
cd Python-3.9.1
./configure --prefix=/usr/local/python3/ # 檢查編譯環境/相關庫檔案/配置引數,生成makefile
make # 對原始碼進行編譯,生成可執行檔案
make install # 將生成的可執行檔案安裝到當前計算機中指定位置
5、建立軟連線
注意:如果/usr/bin 目錄下已有python、pip 先刪除之
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
注意事項
1、安裝時報錯ModuleNotFoundError: No module named '_ctypes'的解決辦法(步驟3安裝依賴的時候已經安裝過)
安裝libffi-devel 然後重新 make&&make install
yum install libffi-devel
2、關於_ssl模組異常的問題,由於伺服器/usr/local/ssl目錄下安裝的不是openssl,本機openssl版本也是1.0.2,所以沒有按照其他人方式進行
去除下面檔案中關於ssl的三條註釋,然後重新make&&make install
vi /usr/local/Python-3.9.1/Modules/Setup
3、升級python3之後yum無法使用的問題
因為yum的包管理,是基於python2.x寫的,跟python3有語法上的不相容
分別修改以下yum的配置檔案
將第一行的 #!/usr/bin/python 改為 #!/usr/bin/python2 (自己核實/usr/bin/目錄下關於python2的情況)
vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down