因工作原因,需要在无互联网连接的环境上安装并配置python环境,常常需要离线安装。在源码安装时,对大部分没怎么接触过的人来说,不太友好,离线环境下会出现各种稀奇古怪的错误信息,所以采用rpm包安装的方式来安装比较快捷。
一、系统及python的版本
操作系统版本:redhat 7.3
python版本:python 3.6.8
二、软件安装包的获取
(一)联网环境下的操作
1.windows系统直接下载。找个连接互联网的windows机器,可以直接下载保存,然后上传到离线环境中,下载地址:https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/。
2.使用yumdownloader命令下载。在联网环境的linux系统中使用yumdownloader命令下载,因离线环境为redhat7.3系统,最好在centos系统下下载:
#安装yumdownloader命令
yum install yum-utils -y
#下载python3
# 下载libtirpc库(提供RPC支持)
yumdownloader --destdir=. libtirpc-0.2.4-0.16.el7.x86_64
# 下载Python3基础包
yumdownloader --destdir=. python3-3.6.8-17.el7.x86_64
yumdownloader --destdir=. python3-libs-3.6.8-17.el7.x86_64
# 下载Python3包管理工具
yumdownloader --destdir=. python3-pip-9.0.3-8.el7.noarch
yumdownloader --destdir=. python3-setuptools-39.2.0-10.el7.noarch
需下载的包如下所示:
libtirpc-0.2.4-0.16.el7.x86_64.rpm
python3-3.6.8-17.el7.x86_64.rpm
python3-libs-3.6.8-17.el7.x86_64.rpm
python3-pip-9.0.3-8.el7.noarch.rpm
python3-setuptools-39.2.0-10.el7.noarch.rpm
3.也可从网盘中获取资料,链接: https://pan.baidu.com/s/1C_baux1KCo3y6KfOT4tNvQ?pwd=7b9a 提取码: 7b9a。资料包括windows、linux安装包及部分whl文件。

三、离线环境下的安装
1.打包所有下载的内容,执行后会生成 rpm_packages.tar.gz 文件,包含所有指定的 RPM 包。详细内容如下:
# 打包所有 RPM 文件(
tar -czvf rpm_packages.tar.gz \
libtirpc-0.2.4-0.16.el7.x86_64.rpm \
python3-3.6.8-17.el7.x86_64.rpm \
python3-libs-3.6.8-17.el7.x86_64.rpm \
python3-pip-9.0.3-8.el7.noarch.rpm \
python3-setuptools-39.2.0-10.el7.noarch.rpm
2.上传至离线服务器,并解压缩,详细内容如下:
# 解压到当前目录
[root@MSTEST ~]# tar -xzvf rpm_packages.tar.gz
# 解压到指定目录(如 /mnt/python3rpm/)
[root@MSTEST ~]# tar -xzvf rpm_packages.tar.gz -C /mnt/python3rpm/ && cd /mnt/python3rpm/
3.安装python3
使用rpm命令进行安装时,无法自动解决依赖的问题,尤其是离线环境下,依赖问题更难解决,安装过程中就遇到了许多的问题,报错信息如下:
[root@MSTEST ~]# cd /mnt/python3rpm/
[root@MSTEST python3rpm]# rpm -ivh libtirpc-0.2.4-0.16.el7.x86_64.rpm
warning: libtirpc-0.2.4-0.16.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
file /lib64/libtirpc.so.1.0.10 from install of libtirpc-0.2.4-0.16.el7.x86_64 conflicts with file from package libtirpc-0.2.4-0.8.el7.x86_64
[root@MSTEST python3rpm]# rpm -ivh python3-3.6.8-17.el7.x86_64.rpm
warning: python3-3.6.8-17.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
libpython3.6m.so.1.0()(64bit) is needed by python3-3.6.8-17.el7.x86_64
python3-libs(x86-64) = 3.6.8-17.el7 is needed by python3-3.6.8-17.el7.x86_64
python3-pip is needed by python3-3.6.8-17.el7.x86_64
python3-setuptools is needed by python3-3.6.8-17.el7.x86_64[root@MSTEST python3rpm]# rpm -ivh python3-setuptools-39.2.0-10.el7.noarch.rpm
warning: python3-setuptools-39.2.0-10.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
/usr/bin/python3 is needed by python3-setuptools-39.2.0-10.el7.noarch
python(abi) = 3.6 is needed by python3-setuptools-39.2.0-10.el7.noarch
基于这些依赖的报错情况,决定使用yum命令进行安装,顺利解决依赖问题,具体的步骤如下:
[root@MSTEST python3rpm]# yum localinstall *.rpm
Installed:
python3.x86_64 0:3.6.8-17.el7 python3-libs.x86_64 0:3.6.8-17.el7 python3-pip.noarch 0:9.0.3-8.el7 python3-setuptools.noarch 0:39.2.0-10.el7Updated:
libtirpc.x86_64 0:0.2.4-0.16.el7 Complete!
[root@MSTEST python3rpm]# python3
Python 3.6.8 (default, Oct 13 2020, 16:18:22)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
1115

被折叠的 条评论
为什么被折叠?



