Skip to content

centOS 7 离线安装python

步骤 1: 准备工作

在一台可以联网的机器上,下载 Python 源码及其依赖项。然后将这些文件复制到目标 CentOS 系统中。

  1. 下载 Python 源码:

  2. 下载依赖库: 在联网机器上,可以通过以下命令下载这些依赖的 RPM 包:

bash
   repotrack gcc make wget tar gzip zlib-devel bzip2-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make gdbm-devel db4-devel libpcap-devel xz-devel -p ./python-deps

这会将所有依赖的 RPM 包下载到指定目录(如 ./python-deps)。

  1. 传输文件:

将下载的 Python 源码和依赖 RPM 包通过 U 盘、SCP 或其他方式传输到目标 CentOS 系统中。


步骤 2: 安装依赖

在目标 CentOS 系统中,使用 rpm 命令安装所有依赖项。

bash
cd /path/to/python-deps
rpm -Uvh --force --nodeps *.rpm

-U:更新软件包,如果rpm比系统现有的版本更高,那么就更新系统的包 -v:输出更多执行细节,也就是显示执行过程 -h:在软件包安装的过程中打印哈希值 --force:等价于--replacepkgs --replacefiles两个选项,前者指重新安装已有的软件包,后者指忽略包之间的文件冲突 --nodeps:不验证软件包的依赖关系


步骤 3: 编译并安装 Python

  1. 解压源码:

    bash
    tar -xvzf Python-3.12.x.tgz
    cd Python-3.12.x
  2. 配置编译选项:

    bash
    ./configure --prefix=/usr/local/python3.12  --with-openssl=/usr/bin/openssl11 --enable-optimizations
    • --prefix: 指定安装路径。
    • --enable-optimizations: 启用优化以提高性能。
    • --with-openssl: 指定版本为1.1.1的openssl
  3. 编译并安装:

    bash
    make
    make altinstall

    注意: 使用 altinstall 而不是 install,以避免覆盖系统的默认 python 命令。

  4. 验证安装:

    bash
    /usr/local/python3.12/bin/python3.12 --version

    输出应为 Python 3.12.x


步骤 4: 配置环境变量

为了方便使用新安装的 Python 版本,可以将其添加到环境变量中。

  1. 编辑 ~/.bashrc/etc/profile 文件:

    bash
    export PATH=/usr/local/python3.12/bin:$PATH
  2. 使配置生效:

    bash
    source ~/.bashrc
  3. 验证是否成功:

    bash
    python3.12 --version
    
    pip3.12

个人收集整理, MIT License