离线环境安装python及pip详细教程

问题背景

最近在服务器上计划安装python10,发现pip总是安装失败,显示的错误是在python安装的时候make的时候,显示ssl module编辑失败,原因是python需要1.1.1版本或者newer更高版的openssl,才能安装pip,今天写个博客做个记录,大体分为两个,第一步就是升级openssl。

升级openssl

服务器默认的openssl的版本一般为1.0.*,而现在更高版本的python9以上要求openssl的版本必须是1.1.1或者更高版本。

  1. 先查看openssl版本 ,命令:openssl version
  2. 查看openssl的路径 ,命令:whereis openssl
  3. 删除openssl相关文件
  4. 下载openssl包

    网址:https://openssl-library.org/source/
    wget --no-check-certificate https://www.openssl.org/source/openssl-3.0.13.tar.gz
    根据需求下载openssl 1.1.1 和 openssl 3.8*版本

  5. 解压openssl ,命令:tar -zxvf openssl-3.0.13.tar.gz
  6. 切换到解压好的openssl目录 ,命令:cd openssl-3.0.13/
  7. 配置openssl安装目录 ,命令:./config --prefix=/usr/local/openssl

    配置过程中可能会报错
    Can’t locate IPC/Cmd.pm in @INC (@INC contains: /root/Downloads/openssl-3.0.1/util/perl /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /root/Downloads/openssl-3.0.1/external/perl/Text-Template-1.56/lib) at /root/Downloads/openssl-3.0.1/util/perl/OpenSSL/config.pm line 18.
    BEGIN failed–compilation aborted at /root/Downloads/openssl-3.0.1/util/perl/OpenSSL/config.pm line 18.
    Compilation failed in require at /root/Downloads/openssl-3.0.1/Configure line 23.
    BEGIN failed–compilation aborted at /root/Downloads/openssl-3.0.1/Configure line 23

  8. 解决方法 ,命令:yum -y install perl-IPC-Cmd
  9. 配置openssl安装目录 ,命令:./config --prefix=/usr/local/openssl
  10. 编译&&安装 ,命令:make && make install
  11. 创建软链接

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl

  1. 添加动态链接库数据

echo “/usr/local/openssl/lib/” >> /etc/ld.so.conf

  1. 更新动态链接库,命令:ldconfig -v
  2. 验证openssl,命令:openssl version

可能会有以下问题
openssl: error while loading shared libraries: libssl.so.3: cannot open shared object file: No such file or directory

  1. 原因是第12步没有做对

安装python3.10

  1. 过程不写了,说一下关键的一步
  2. 需提交安装好python所需要的依赖包

yum install zlib-devel zlib
参考:https://www.cnblogs.com/architectforest/p/17830801.html

yum -y install vim unzip net-tools && yum -y install wget && yum -y install bzip2 && yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel && yum -y install libglvnd-glx && yum -y install gcc gcc-c++

./configure --with-openssl=/usr/local/openssl --prefix=/usr/local/

  1. –with-openssl 这个指的是openssl安装的目录,并不是可执行文件/bin下面的,这个坑了我办天。
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐