在OpenEulerOS中安装python2时,发现与python3有冲突,通过yum镜像源无法正确安装,最后通过离线软件包编译、安装解决了问题,记录下操作步骤。

1. 安装相关依赖库

1
2
3
4
5
yum install 
yum install zlib
yum install zlib-devel
yum install openssl
yum install openssl-devel

2. 配置yum镜像源

​ 华为云镜像网站:https://mirrors.huaweicloud.com/home

1
2
3
4
5
6
# 1. 以OpenEuler源为例
wget -O /etc/yum.repos.d/openEulerOS.repo https://repo.huaweicloud.com/repository/conf/openeuler_aarch64.repo
# 2. 清除原有缓存
yum clean all
# 3. 生成新的缓存
yum makecache

3. 下载源码包

​ 去官网上找,官网下载地址 https://www.python.org/downloads

​ 或者直接,wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz

4. 编译与安装

  1. 解压

    1
    tar -xzf Python-2.7.14.tgz
  2. 配置

    1
    2
    3
    4
    # 首先生成python安装路径,我这里将安装路径放在/usr/local下面
    mkdir /usr/local/python2.7
    # 进入解压的源码路径,运行下面命令生成Makefile
    ./configure --enable-optimizations --prefix=/usr/local/python2.7/

    --enable-optimizations 为最优安装,建议使用这个参数。–prefix 声明安装路径

  3. 启用ssl模块

    vim Modules/Setup 修改内容如下

    1
    2
    3
    4
    5
    6
    7
    # Socket module helper for SSL support; you must comment out the other
    # socket line above, and possibly edit the SSL variable:
    SSL=/usr/local/ssl

    _ssl _ssl.c \
    -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
    -L$(SSL)/lib -lssl -lcrypto

    ​ 默认这块是注释的,放开注释即开。这块功能是开启SSL模块,不然会出现安装完毕后,提示找不到ssl模块的错误。

  4. 编译和安装

    1
    2
    make
    make install
  5. 建立软连接

    1
    2
    ln -s /usr/local/python2.7/bin/python2.7 /usr/bin/python2
    python2 --version
  6. 安装pip工具

    1
    2
    3
    4
    # 首先进入setuptools的解目录,执行命令
    python setup.py install
    # 命令执行成功后,在进入pip-9.0.1的解压目录,执行命令
    python setup.py install