centOS 6 环境下离线安装 gcc 与 Python
适用版本:centOS 6
,gcc 4.4.7
,Python 3.10
有时因为在内网环境里,禁止连接公网,但是又要安装gcc
、python
,这时就要借助一台联网的电脑,下载rpm
安装包和python
源码包,再通过 U 盘复制到目标主机,进行离线安装。
1. 事前准备
操作之前准备好以下物品:
1. 一台联网的计算机
2. 一个 U 盘
3. 目标主机
联网的计算机用于下载各类安装包,U 盘则将安装包通过物理接口转移到目标主机中。
2. 下载 rpm 包
在联网的计算机中下载需要的rpm
包。
centOS 6
的相关镜像在官方、阿里、清华等镜像站均已下线,但可以在以下网站中找到:
https://vault.centos.org/6.9/os/x86_64/Packages/
按照下面两节下载相应的包,下载完成后如图:
2.1. gcc 相关包
在提供的网站上ctrl+f
搜索以下包,并点击下载:
1. cloog-ppl
2. cpp
3. gcc
4. glibc-devel
5. glibc-headers
6. kernel-headers
7. libgomp
8. mpfr
9. ppl
python
在编译安装过程中需要用到gcc
编译器。
2.2. python 相关包
在提供的网站上ctrl+f
搜索以下包,并点击下载:
1. zlib-devel
python
在编译安装过程中需要用到此包。
3. 下载 Python 源码包
在联网的计算机中打开官方网站下载源码包:
4. 安装 gcc 等 rpm 包
将rpm
包通过 U 盘复制到目标主机的任一目录下,并在此目录下执行:
1 | rpm -ivh *.rpm --force --nodeps |
5. 编译安装 python
将python
源码包通过 U 盘复制到目标主机的任一目录下,并在此目录下执行:
1 | tar -xzvf Python-3.10.0.tgz |
上述代码完成了源码包的解压与配置,继续执行代码完成编译安装:
1 | make |
接下来建立软链,便与直接通过python3
与pip3
命令执行python
与pip
,通过这样的方法,可以将python 2
与python 3
共存:
1 | ln -s /usr/local/python3/bin/python3 /usr/bin/python3 |
6. 复现 python 环境
第四节只是安装了python
主程序,但是实际工程中需要通过pip
下载很多依赖包,不幸的是,目标主机并没有联网,该怎么办?
我们在联网的计算机上配置好我们需要的python
环境,通过pip
下载好我们需要的依赖包,全部完成后,新建一个目录执行:
1 | pip freeze > requirements.txt |
requirements.txt
中即包含了当前环境的所有依赖包,接下来执行以下命令,将依赖包全部下载到pip_packages
目录下:
1 | pip download -r requirements.txt -d ./pip_packages |
将requirements.txt
与pip_packages
目录通过 U 盘复制到目标主机的任一目录,执行以下命令安装全部依赖:
1 | pip3 install --no-index --find-links=./pip_packages -r requirements.txt |
至此,python
环境复现完成。
7. 参考
v1.5.2