yuan-er

导航

 

安装主机的Python3

前提条件

  • 环境需要提前配置软件包管理器。如何配置可参考配置软件包管理器章节。
  • 如果主机已自带Python3且符合版本要求,请勿再二次安装。如果主机上线时未能正确识别,请联系技术支持
  • 请先安装Python3后再添加主机。如果主机标准化检查出Python3版本不通过,则需要先删除主机,安装Python3后再添加主机。

操作步骤

  1. 如果主机的操作系统为麒麟、统信、HCE或者BCLINUX,执行如下命令,安装依赖环境。

     

    yum -y install make rng-tools perl libffi-devel sqlite-devel openssl-devel python3-devel gcc-c++ libcgroup libcgroup-tools

    systemctl enable rngd

    systemctl restart rngd

    systemctl enable cgconfig

    systemctl restart cgconfig

    如果主机的操作系统为SUSE,执行如下命令,安装依赖环境。

    systemctl enable haveged

    systemctl restart haveged

    touch /etc/cgconfig.conf

    chmod 644 /etc/cgconfig.conf

    systemctl enable cgconfig

    systemctl restart cgconfig

     

  2. 安装需要版本的Python3,可使用yum源或者Python3安装包进行安装,要求安装在/usr/local/python3下,以安装Python3.7.9为例。

     

    • 使用yum源安装,执行如下步骤。
      1. 执行以下命令,检查yum源中提供的Python3版本是否为3.7.9。

        yum --showduplicates list python3

        回显中的“Available Packages”展示了yum源提供的软件包,可知软件包版本。

      2. 执行以下命令,安装Python3。

        yum -y install python3-3.7.9

    • 使用Python3安装包安装(可从官网下载Python3安装包):以Python3.7.9.tgz安装包为例,执行如下命令。
      1. 执行mkdir -p /usr/local/python3命令,创建python3文件夹。
      2. 执行tar -zxvf Python-3.7.9.tgz命令,解压Python-3.7.9.tgz安装包。
      3. 执行cd Python-3.7.9命令,进入解压后的目录。
      4. 执行如下命令,进行编译安装。

        ./configure --prefix=/usr/local/python3 --enable-optimizations --enable-shared

        make -sj && make install

        若主机操作系统为SUSE,则需要安装的Python版本为3.8.5,并且需要使用Python3安装包安装,具体操作如下。

        1. 执行以下命令,创建python3文件夹。

          mkdir -p /usr/local/python3

        2. 执行以下命令,解压Python-3.8.5.tgz安装包。

          tar -zxvf Python-3.8.5.tgz

        3. 执行以下命令,进入解压后的目录。

          cd Python-3.8.5

        4. 执行如下命令,进行编译安装。

          ./configure --prefix=/usr/local/python3 --enable-optimizations --enable-shared

          make -sj && make install

     

  3. 执行如下命令,修改软链接。

     

    • 安装Python3.7.9完成后,执行以下操作。

      ln -sf /usr/local/python3/lib/libpython3.7m.so.1.0 /usr/lib64/libpython3.7m.so.1.0

      ln -sf /usr/lib64/libpython3.7m.so.1.0 /usr/lib64/libpython3.7m.so

      ln -sf /usr/local/python3/lib/libpython3.so /usr/lib64/libpython3.so

      ln -s /usr/lib64/libffi.so.6 /usr/lib64/libffi.so.7

      rm -f /usr/bin/pip /usr/bin/pip3 /usr/bin/python /usr/bin/python3

      ln -s /usr/local/python3/bin/pip /usr/local/bin/pip

      ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3

      ln -s /usr/local/python3/bin/pip3.7 /usr/local/bin/pip3.7

      ln -s /usr/local/python3/bin/python3 /usr/bin/python3

      ln -s /usr/bin/python3 /usr/bin/python

      chmod -R 755 /usr/local/python3

      chmod 755 -R /usr/local/lib64/python3.7

      chmod 755 -R /usr/local/lib/python3.7

      ln -sf /usr/local/python3/lib/python3.7 /usr/lib/python3.7

      ln -sf /usr/bin/python3 /usr/bin/python3.7

    • 安装Python3.8.5完成后,执行以下操作。

      ln -sf /usr/local/python3/lib/libpython3.8.so.1.0 /usr/lib64/libpython3.8.so.1.0

      ln -sf /usr/lib64/libpython3.8.so.1.0 /usr/lib64/libpython3.8.so

      ln -sf /usr/local/python3/lib/libpython3.so /usr/lib64/libpython3.so

      ln -s /usr/lib64/libffi.so.7.1.0 /usr/lib64/libffi.so.7

      rm -f /usr/bin/pip /usr/bin/pip3 /usr/bin/python /usr/bin/python3

      ln -s /usr/local/python3/bin/pip /usr/local/bin/pip

      ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3

      ln -s /usr/local/python3/bin/pip3.8 /usr/local/bin/pip3.8

      ln -s /usr/local/python3/bin/python3 /usr/bin/python3

      ln -s /usr/bin/python3 /usr/bin/python

      chmod -R 755 /usr/local/python3

      chmod 755 -R /usr/local/lib64/python3.8

      chmod 755 -R /usr/local/lib/python3.8

      ln -sf /usr/local/python3/lib/python3.8 /usr/lib/python3.8

      ln -sf /usr/bin/python3 /usr/bin/python3.8

    NOTICE:
    • 如果出现“ln: failed to create symbolic link '***': File exists”报错,跳过即可。
    • 在更改目录权限的时候如果出现“No such file or directory”报错,跳过即可。

     

  4. 如果主机的操作系统为SUSE,执行以下命令,将/lib64目录下的libreadline.so.7.0文件复制到/usr/lib64目录。

     

    unlink /usr/lib64/libreadline.so

    cp /lib64/libreadline.so.7.0 /usr/lib64

    ln -sf /usr/lib64/libreadline.so.7.0 /usr/lib64/libreadline.so.7

     

  5. 执行如下命令,检查Python3是否安装成功。

     

    python --version

    如果回显显示Python 3.7.9,则表示安装成功。

     

注意事项

  1. 如果主机的操作系统为麒麟、统信、HCE或者BCLINUX,安装完Python 3.7.9后,执行命令yum list,发现yum源不可用,执行以下命令,修复yum源。

     

    cp -rf /usr/lib/python3.7/site-packages/dnf* /usr/local/python3/lib/python3.7/site-packages

    cp -rf /usr/lib/python3.7/site-packages/iniparse /usr/local/python3/lib/python3.7/site-packages

    cp -rf /usr/lib64/python3.7/site-packages/libdnf /usr/local/python3/lib/python3.7/site-packages

    cp -rf /usr/lib64/python3.7/site-packages/gpg /usr/local/python3/lib/python3.7/site-packages

    cp -rf /usr/lib64/python3.7/site-packages/libcomps /usr/local/python3/lib/python3.7/site-packages

    cp -rf /usr/lib64/python3.7/site-packages/rpm /usr/local/python3/lib/python3.7/site-packages

    cp -rf /usr/lib64/python3.7/site-packages/hawkey /usr/local/python3/lib/python3.7/site-packages

    cp -rf /lib64/python3.7/curses /usr/local/python3/lib/python3.7/site-packages

    cp -rf /usr/lib64/python3.7/lib-dynload/_curses.cpython-37m-aarch64-linux-gnu.so /usr/local/python3/lib/python3.7/lib-dynload/

    执行命令yum list,回显不报错即可。

     

  2. 主机上线完成后,请执行以下命令,检查沙箱目录内的python是否正常。

     

    su - Ruby

    chroot /var/chroot

    python

    如果回显报错,显示不存在,或者引入模块失败,则登录主机,执行以下命令,检查软链接并复制python到沙箱目录。

    1. 执行以下命令,检查 /var/chroot/usr/bin/python 的软链接是否正常。

      ls -l /var/chroot/usr/bin/python

    2. 执行以下命令,复制python到沙箱目录,以python3安装包在/usr/local/python3文件夹为例。

      mkdir -p -m 755 /var/chroot/usr/local/

      cp -fr /usr/local/python* /var/chroot/usr/local/

      chmod -R 755 /var/chroot/usr/local/python*

      cp /usr/lib64/libpython3.7m.so.1.0 /var/chroot/usr/lib64/

    3. 再次检查沙箱目录内的python是否正常。

      su - Ruby

      chroot /var/chroot

      python

     

 
posted on 2025-06-26 11:27  数据库笔记  阅读(4)  评论(0)    收藏  举报