1.安裝相應的編譯工具
在root用戶下(不要用普通用戶,麻煩),全部復制粘貼過去,一次性安裝即可.
yum -y groupinstall "Development tools" 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 yum install -y libffi-devel zlib1g-dev yum install zlib* -y
2.下載安裝包
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz
3.解壓
tar -xvf
Python-3.8.5.tar.xz
4.創建編譯安裝目錄
mkdir /usr/local/python3
5.安裝
cd Python-
3.8.5
./configure --prefix=/usr/local/python3 --enable-optimizations --with-ssl #第一個指定安裝的路徑,不指定的話,安裝過程中可能軟件所需要的文件復制到其他不同目錄,刪除軟件很不方便,復制軟件也不方便. #第二個可以提高python10%-20%代碼運行速度. #第三個是為了安裝pip需要用到ssl,后面報錯會有提到. make && make install
what-does-enable-optimizations-do-while-compiling-python
6.創建軟鏈接
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3 ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
7.驗證是否成功
python3 -V pip3 -V
8.報錯處理
錯誤0:
xxx/usr/local/Python3/bin # ./python3
Fatal Python error: init_import_size: Failed to import the site module
Python runtime state: initialized
ValueError: source code string cannot contain null bytes
Current thread 0x00007f4a1c334740 (most recent call first):
<no Python frame>
系統中存在多個python版本,默認庫路徑、python路徑不對,找到相應模塊路徑
PYTHONPATH:用於擴充Python查找模塊文件的路徑。
/usr/local/Python3/bin # find /usr/local/Python3/ -name site.py*
/usr/local/Python3/lib/python3.8/site.py
查看確認該模塊沒有在以下路徑:
/usr/local/Python3/bin # echo $PYTHONHOME
/usr/local/Python3/bin # echo $PYTHONPATH
/home/share/Python-2.7/lib:/home/party/spark/python/:/home//share/Python-2.7/lib:/home/share/Python-2.7/lib/site-packages
臨時執行:
PYTHONPATH=/usr/local/Python3/lib/python3.8/:$PYTHONPATH ./python3 /data/t.py
將該路勁添加到環境變量:
export PYTHONPATH=/usr/local/Python3/lib/python3.8/:$PYTHONPATH
錯誤1.
zipimport.ZipImportError: can't decompress data; zlib not available Makefile:1099: recipe for target 'install' failed make: *** [install] Error 1
需要安裝依賴
yum -y install zlib1g-dev
錯誤2.
ModuleNotFoundError: No module named '_ctypes'
需要安裝依賴
yum -y install libffi-devel