redhat7.6 安装 Python 3

redhat7.6 默认安装了python2.7.

 

查看已安装python情况

cd /  # 定位到根目录
whereis python  # 查看python所在目录 /usr/bin

cd /usr/bin  # 切到python目录

ll python*  # 查看python开头的相关文件详情

mv python python.bak  #备份原python文件.

安装Python3

为避免因缺少依赖包出各种问题, 请跳过下面的步骤, 先安装文末的依赖包.

# 新建python目录
mkdir /usr/local/python3

# 切换到新建的目录
cd /usr/local/python3

# 下载python3.7安装包
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz

# 解压python包
tar -xvf Python-3.7.4.tgz

# 切换到目录
cd Python-3.7.4

# 指定python3安装路径 /usr/local/python3Dir
./configure --prefix=/usr/local/python3Dir

make
make install 此时报错了<_>

1. ModuleNotFoundError: No module named '_ctypes' make: *** [install] 错误 1

#因为 缺少libffi-devel依赖, 使用以下命令安装.
yum -y install libffi-devel

安装后重新make install 继续报错.

2. zipimport.ZipImportError: can't decompress data; zlib not available make: *** [install] 错误 1

#缺少 zlib* 依赖包.
yum install zlib* -y

3. 后面python3 安装好后, 使用pip时还会报这个错误.

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

# 因为自带的openssl版本比较低, 需要安装高版本的openssl-devel. yum install gcc libffi-devel zlib* openssl-devel

此时 发现 使用 yum 会出现错误. 

-bash: /usr/bin/yum: /usr/bin/python: 坏的解释器: 没有那个文件或目录

因为 yum依赖python, 刚才mv python python.bak 更改了文件名所以报错, 改回文件名即可:

cd /usr/bin/

mv python.bak python  # 更改后就可以使用yum安装上面的依赖包了.

#使用yum安装完上面的依赖包后, 务必重新把python名字改回去. 否则后面建立python3连接时候会提示文件已存在报错.
cd /usr/bin/

mv python python.bak
 

重新安装 上面3个依赖包后, 继续.

make clean    # 清理
make   # 大概要几分钟 
make install    # 执行完成不报错就装好了
# 切换到安装目录下的bin目录:
cd /usr/local/python3Dir/bin

# 建立连接
ln -s /usr/local/python3Dir/bin/python3 /usr/bin/python

# 查看python版本
python -V

# 查看python对应详情
ll /usr/bin/python*

到这里 python3 就安装好了. 

原文地址:https://www.cnblogs.com/levia/p/11365621.html