1. 程式人生 > 程式設計 >Centos7下原始碼安裝Python3 及shell 指令碼自動安裝Python3的教程

Centos7下原始碼安裝Python3 及shell 指令碼自動安裝Python3的教程

一、原始碼安裝

首先安裝開發工具包

yum groupinstall -y "Development tools"

安裝依賴軟體包

yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel wget

上Python 官網 找原始碼包的下載地址

wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tar.xz -O /usr/local/Python-3.7.6.tar.xz

解壓安裝

tar -xf Python-3.7.6.tar.xz

cd Python-3.7.6

進入目錄後,執行下面的命令

修改檔案 Python-3.7.6/Modules/Setup.dist, 去掉如下幾行的註釋

readline readline.c -lreadline -ltermcap

SSL=/usr/local/ssl
_ssl _ssl.c \
 -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
 -L$(SSL)/lib -lssl -lcrypto

開始編譯安裝

./configure --enable-shared

make -j 2 && make install
# -j 當前主機的 cpu 核心數

–enable-shared 指定安裝共享庫,共享庫在使用其他需呼叫python的軟體時會用到,比如使用mod_wgsi 連線Apache與python時需要。

配置共享庫檔案

為所有使用者設定共享庫目錄
用 vi 編輯器開啟配置檔案 /etc/profile.d/python3_lib.sh (原來沒有 重新生成的 名字可以自定義,必須以.sh 結尾)

vi /etc/profile.d/python3_lib.sh 新增如下內容
# python3.7 共享庫目錄
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

編輯檔案 /etc/ld.so.conf.d/python3.conf,並且新增如下內容:

/usr/local/lib

儲存退出檔案後, 執行如下命令 載入配置資訊使其生效

ldconfig

執行如下命令,是環境變數生效

source /etc/profile
# 此條命令只能讓當前的 shell 環境下的環境變數生效,最好重啟機器

測試python3

$ python3
Python 3.7.6 (default,Dec 25 2019,03:22:21)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help","copyright","credits" or "license" for more information.
>>> exit()

測試 pip3

![假如上面顯示的含有 python3.7 就沒問題了

二、 配置使用本地的源安裝第三方模組

阿里雲的伺服器不用如下配置 執行好上面就可以了 他會自動配置的
建立配置檔案
配置 pip3 使用本地源

mkdir ~/.pip
vi ~/.pip/pip.conf

寫入如下內容:

[global]

index-url=http://mirrors.aliyun.com/pypi/simple/

豆瓣源: https://pypi.douban.com/simple/
阿里源: https://mirrors.aliyun.com/pypi/simple
然後我們執行如下程式碼安裝軟體 如果可以那就沒有問題

pip3 install ipython

shell 指令碼自動安裝Python3

yum groupinstall -y "Development tools"
#開發工具包
touch /mnt/inst_pyth.log
positio_pyth=/mnt/inst_pyth.log
echo "開始安裝依賴包-----"
yum -y install gcc gcc-c++ zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel wget tar >> $positio_pyth
#依賴包
rpm -q gcc gcc-c++ zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel wget tar
 >> $positio_pyth
if [ $? -ne 0 ];then
 exit
fi
echo "開始下載python安裝包,請耐心等待------"
wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tar.xz -O /usr/local/Python-3.7.6.tar.xz
#下載安裝包
if [ $? -ne 0 ];then
 exit
fi
cd /usr/local/
tar xf Python-3.7.6.tar.xz >> $positio_pyth
cd Python-3.7.6
sed -ri 's/^#(readline)/\1/' /usr/local/Python-3.7.6/Modules/Setup.dist
sed -ri 's/^#(SSL=)/\1/' /usr/local/Python-3.7.6/Modules/Setup.dist
sed -ri 's/^#(_ssl)/\1/' /usr/local/Python-3.7.6/Modules/Setup.dist
sed -ri 's/^#([ \t]*-DUSE)/\1/' /usr/local/Python-3.7.6/Modules/Setup.dist
sed -ri 's/^#([ \t]*-L\$\(SSL\))/\1/' /usr/local/Python-3.7.6/Modules/Setup.dist
# 到配置檔案裡開啟這幾行的註釋
./configure --enable-sharde
a=`cat /proc/cpuinfo|awk '/cpu cores/ {print $NF}'`
make -j $a && make install >> $positio_pyth
#j 指定cpu核數
touch /etc/profile.d/python3_lib.sh
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib" > /etc/profile.d/python3_lib.sh
touch /etc/ld.so.conf.d/python3.conf
echo "/usr/local/lib" > /etc/ld.so.conf.d/python3.conf
ldconfig
#使新增的內容生效
source /etc/profile
#生效環境變數
pip3 -V
if [ $? -eq 0 ];then
 echo "安裝成功"
else
 echo "安裝失敗"
fi

到此這篇關於Centos7下原始碼安裝Python3 shell 指令碼自動安裝Python3的文章就介紹到這了,更多相關Centos7安裝Python3 內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!