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

示例:
比如安装一个执行远程主机命令的模块
在这里插入图片描述

发布了14 篇原创文章 · 获赞 9 · 访问量 468

猜你喜欢

转载自blog.csdn.net/Adley_zk/article/details/104620895