centos7 編譯安裝python3.8.5


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路徑不對,找到相應模塊路徑

PYTHONHOME:指定Python的標准庫。
PYTHONPATH:用於擴充Python查找模塊文件的路徑
 
這里是導入site模塊時出錯,所以應該在PYTHONPATH上增加site模塊的路徑。

/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 


免責聲明!

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



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