最近公司新弄来一台linux  redhat 4.4.7服务器,准备在上面离线安装python3.7,安装过程中出现一些问题,特此记录下来。

首先在python官网上下载了 Python-3.7.3.tgz文件,放在/usr/local/python3.7路径下,然后解压到该路径下

tar -zxvf Python-3.7.3.tgz  

接着进入/usr/local/python3.7/python-3.7.3路径,执行

./configure  --prefix=/usr/local/python3.7

完成之后,接着执行 make && make install  指令进行安装,结果报如下错误 ModuleNotFoundError: No module named '_ctypes'

网上查找一番,原因是安装pyhton3.7需要一个依赖模块 libffi-devel,为此在官网上下载了libffi-devel-3.2.1-alt2.x86_64.rpm文件,执行一下命令进行安装

rpm -ivh libffi-devel-3.2.1-alt2.x86_64.rpm

结果又报出错误:缺少依赖模块libffi6,于是我又在官网上下载 libffi6-3.2.1-alt2.x86_64.rpm文件,执行以下命令安装

rpm -ivh libffi6-3.2.1-alt2.x86_64.rpm

结果安装时又报错,提示:glibc库版本太低,至少需要glibc-2.14版本,于是我查看了一下系统中glibc库版本,执行以下命令

strings /lib64/libc.so.6 |grep GLIBC_

发现当前系统glibc库版本为2.12版本,于是需要对系统glibc库进行升级,我下载了下面4个文件

glibc-devel-2.17-55.el6.x86_64.rpm

glibc-2.17-55.el6.x86_64.rpm

glibc-common-2.17-55.el6.x86_64.rpm

glibc-headers-2.17-55.el6.x86_64.rpm

这几个文件间存在依赖关系,所以我就同时安装了它们,采用了如下指令

rpm -Uvh glibc-devel-2.17-55.el6.x86_64.rpm \
         glibc-2.17-55.el6.x86_64.rpm \
         glibc-common-2.17-55.el6.x86_64.rpm \
         glibc-headers-2.17-55.el6.x86_64.rpm \
         --force --nodeps

其中,参数 -Uvh中,

‘U’(update)表示对软件进行升级

'v'(verbose)指显示安装的过程信息

‘h’(hash)指软件安装的时候列出哈希标记,即显示安装进度

--force 表示强制安装,即使覆盖属于其他包的文件也要安装

--nodeps表示当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包

安装完成后,查看是否安装成功,执行以下指令

rpm -qa | grep glibc

可以看到安装成功,再次查看glibc版本

可以看到,已经将系统glibc版本升级到2.17版本了,最后确认一下安装。于是重新安装libffi6、libffi-devel模块,均成功安装了,此时可以重新安装python3.7.3了,一路顺畅,安装成功。

最后,配置一下软链接,这样不必每次启动python时都需要进入其安装路径下启动,方便一些,依次执行

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

完成之后,测试一下

搞定了!

linux系统中离线安装python3.7过程记录的更多相关文章

  1. 【Oracle RAC】Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂)

    [Oracle RAC]Linux系统Oracle11gR2 RAC安装配置详细过程V3.1(图文并茂) 2 Oracle11gR2 RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件 ...

  2. MySQL5.7.20 二进制包 在Linux系统中的 安装和配置

    01, 下载安装包 =>  https://dev.mysql.com/downloads/mysql/ 02, 上传到linux系统, 笔者这里安装在 root 目录下, 常见安装在 var/ ...

  3. Shell脚本实现在Linux系统中自动安装JDK

    A:本脚本运行的机器,Linux B:待安装JDK的机器, Linux 首先在脚本运行的机器A上确定可以ssh无密码登录到待安装jdk的机器B上,然后就可以在A上运行本脚本: 复制代码 代码如下: $ ...

  4. nginx的在linux系统中的安装

    1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. n  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果 ...

  5. 在linux系统把node安装到全局 简单记录

    1.在 根目录下建立 mysoft( 找一个放node 包) 2. 下载nodejs Linux版本(二进制),注意本教程是.tar.xz格式的. wget https://nodejs.org/di ...

  6. 【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)

    [Oracle RAC]Linux系统Oracle12c RAC安装配置详细过程V2.0(图文并茂) 2 Oracle12c RAC数据库安装准备工作2.1 安装环境介绍2.2 数据库安装软件下载3 ...

  7. 在Linux系统中安装caffe

    学习深度学习已经很久了,但一直没有自己动手安装过caffe,因为工作需要,需要在linux系统中安装caffe,因此,在这里对安装过程进行记录. caffe配置起来比tensorflow更麻烦一些,我 ...

  8. 在 Linux 系统中安装Load Generator ,并在windows 调用方法

    在 Linux 系统中安装Load Generator ,并在windows 调用 由于公司需要测试系统的最大用户承受能力,所以需要学习使用loadrunner.在安装的时候碰到了不少问题,所以写下此 ...

  9. Linux系统中ElasticSearch搜索引擎安装配置Head插件

    近几篇ElasticSearch系列: 1.阿里云服务器Linux系统安装配置ElasticSearch搜索引擎 2.Linux系统中ElasticSearch搜索引擎安装配置Head插件 3.Ela ...

随机推荐

  1. MeteoInfoLab脚本示例:站点数据绘制等值线

    站点数据绘制等值线需要首先将站点数据插值为格点数据,MeteoInfo中提供了反距离权法(IDW)和cressman两个方法,其中IDW方法可以有插值半径的选项.这里示例读取一个MICAPS第一类数据 ...

  2. 快速掌握Java8 Stream函数式编程技巧

    函数式编程优势 "函数第一位",即函数可以出现在任何地方. 可以把函数作为参数传递给另一个函数,还可以将函数作为返回值. 让代码的逻辑更清晰更优雅. 减少了可变量(Immutabl ...

  3. Kibana详细入门教程

    Kibana详细入门教程   目录 一.Kibana是什么 二.如何安装 三.如何加载自定义索引 四.如何搜索数据 五.如何切换中文 六.如何使用控制台 七.如何使用可视化 八.如何使用仪表盘 一.K ...

  4. lvs搭建dr负载均衡集群

    一,查看本地centos的版本: [root@localhost lib]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) ...

  5. phpstorm配置sftp自动上传

    勾选自动上传 手动上传   qq_23049573 原创文章 14获赞 4访问量 2万+ 关注 私信

  6. Spring Cloud Alibaba Sentinel

    一.介绍(sentinel 1.7.0) 1,官网地址 https://github.com/alibaba/Sentinel 中文地址:https://github.com/alibaba/Sent ...

  7. 在Linux系统中安装Chrome浏览器

    前言:作为一个Web开发人员,经常与我们相伴的必然少不了浏览器,而Google旗下的chrome浏览器更是凭借着出色的性能.简洁的界面被广大开发者所喜爱,今天分享下如何在linux系统下安装chrom ...

  8. 【译】值得推荐的十大React Hook 库

    十大React Hook库 原文地址:https://dev.to/bornfightcompany/top-10-react-hook-libraries-4065 原文作者:Juraj Pavlo ...

  9. CodeForces 1327F AND Segments

    题意 给三个整数 \(n,k,m\) 和 \(m\) 个限制 \((l_i,r_i,x_i)\),求有多少个长度为 \(n\) 的序列 \(a\) 满足: 对于 \(1\leq i\leq n\) 有 ...

  10. From delete library to run の 初见Django篇

    一.虚拟环境简介 1.什么是虚拟环境? 虚拟环境是用于依赖项管理和项目隔离的python工具,允许python的第三方库安装在本地特定项目的隔离目录中,而不是全局安装. 2.虚拟环境的组成 ① 安装了 ...