IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    CentOS 7 编译安装 Python 3

    泠泫凝发表于 2023-07-29 13:44:17
    love 0

    CentOS 7 全流程编译安装 Python 3

    注意:本文全程均以用户拥有root权限为前提,如果不能使用root账户登录,请在命令前加上sudo。

    安装依赖包

    1. 首先安装EPEL,这是大部分依赖项的基础
      1
      yum install -y epel-release
    2. 安装依赖项
      1
      yum install -y wget make cmake gcc bzip2-devel libffi-devel zlib-devel
      和其他依赖包,这里统一用Development Tools安装
      1
      yum groupinstall -y "Development Tools"

    编译安装 Python

    OpenSSL

    Python 3.11及以上版本需要openssl 1.1.1及以上版本,而(对于CentOS 7来说)无论是EPEL源还是官方源都没法安装这个版本,因此需要从源码编译安装。

    1. 首先下载OpenSSL源码:
      1
      wget https://www.openssl.org/source/openssl-1.1.1u.tar.gz
    2. 解压:
      1
      2
      tar -zxvf openssl-1.1.1u.tar.gz
      cd openssl-1.1.1u/
    3. 配置,这个过程应该很快
      1
      ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
    4. 编译:
      1
      2
      make -j8
      make install
      -j后面的参数是线程数,可以取电脑的核心数。
    5. 更新路径配置:
      1
      2
      3
      4
      tee /etc/profile.d/openssl.sh<<EOF
      export PATH=/usr/local/openssl/bin:\$PATH
      export LD_LIBRARY_PATH=/usr/local/openssl/lib:\$LD_LIBRARY_PATH
      EOF
      使路径生效:
      1
      source /etc/profile.d/openssl.sh
    6. 看一下版本
      1
      openssl version
      返回:
      1
      OpenSSL 1.1.1t  7 Feb 2023

    Python

    1. 下载Python源码:Index of /ftp/python/,找想编译的版本点进去,这里以3.11.4版本为例
      1
      wget https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tgz
    2. 解压
      1
      2
      tar -zxvf Python-3.11.4.tgz
      cd Python-3.11.4/
    3. 配置环境变量并配置编译
      1
      LDFLAGS="${LDFLAGS} -Wl,-rpath=/usr/local/openssl/lib" ./configure --with-openssl=/usr/local/openssl
    4. 编译并安装
      1
      2
      make -j8
      make altinstall
      -j后面的参数是线程数,可以取电脑的核心数。
    5. 测试一下Python是否能够使用
      1
      2
      3
      4
      [root@localhost ~]# python3.11 -V
      Python 3.11.4
      [root@localhost ~]# pip3.11 -V
      pip 23.2.1 from /usr/local/lib/python3.11/site-packages/pip (python 3.11)

    换源(可选)

    这一部分取自PyPI 镜像使用帮助。

    1. 首先更新pip:
      1
      python3.11 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip
    2. 设置清华源:
      1
      pip3.11 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple


沪ICP备19023445号-2号
友情链接