Centos7下源碼安裝Python3

一、源碼安裝

安裝依賴軟件包

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

前提條件是:你的系統已經安裝了開發工具包。
yum groupinstall “Development Tools”

下載

wget https://www.python.org/ftp/python/3.7.6/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

或者在 shell 命令提示符下執行如下命令:

sed -ri 's/^#readline/readline/' Modules/Setup.dist
sed -ri 's/^#(SSL=)/\1/' Modules/Setup.dist
sed -ri 's/^#(_ssl)/\1/' Modules/Setup.dist 
sed -ri 's/^#([\t]*-DUSE)/\1/' Modules/Setup.dist 
sed -ri 's/^#([\t]*-L\$\(SSL\))/\1/' Modules/Setup.dist

開始編譯安裝

./configure --enable-shared

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

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

配置共享庫文件
1、爲所有用戶設置共享庫目錄
用 vi 編輯器打開配置文件 /etc/profile.d/python3_lib.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()

輸入 exit() 即可退出 python3

測試 pip3
在這裏插入圖片描述

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

特殊問題
假如 Python Shell 中敲擊方向鍵顯示「[[C[[D」
可以安裝以下包

一般情況下你不需要執行下面的安裝命令。

pip3 install gnureadline

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

創建配置文件
1、配置 pip3 使用本地源

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

寫入以下內容

[global]
index-url=https://mirrors.aliyun.com/pypi/simple

豆瓣源: https://pypi.douban.com/simple/
阿里源: https://mirrors.aliyun.com/pypi/simple

示例:
比如安裝一個執行遠程主機命令的模塊
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章