热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos7.1安装python2.7.10

为了测试mesos,搞了一个centos7.1,使用最小化安装,然后自己安装了net-tools,“开发工具”集。后来想装一下DCOSCli工具,结果发现python的pip不可用。搜了一下,发现Centos7自动的python版本为2.7.5,不带openssl加密,而要下载的

为了测试 mesos,搞了一个 centos7.1,使用最小化安装,然后自己安装了 net-tools,“开发工具”集。后来想装一下 DCOS Cli工具,结果发现 python 的 pip 不可用。

    搜了一下,发现 Centos7自动的 python 版本为2.7.5,不带 openssl 加密,而要下载的东西都是 https 的,找了好久,希望能让 pip 忽略 https 的验证无果。查到一个信息,说是2.7.9以上版本自带了 openssl 插件。好吧,试试这个吧!

1、安装一堆需要的软件包,之所以搞了两天,完全是被这些坑的,一步一个坑啊!

   yum -y install openssl openssl-devel ncurses-devel.x86_64  bzip2-devel sqlite-devel python-devel zlib

2、下载 python2.7.10源码包,解压到一个临时目录中,我就放在/tmp 下了

    wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz

    tar zxvf Python-2.7.10.tgz

3、编译

    编译前,注意一下,configure时候要使用"--enable-shared",表示生成动态链接库。(不然后面编译mod_wsgi会出错)仅使用这一项也不够,开始仅使用--enable-shared选项,发现编译完成后,进入Python2.7.10目录,执行python、python2、python2.7在终端都是返回python2.7.5的提示符。所以,在执行configure命令的时候,还要加上"-rpath"选项,这个代表是否将生成的库安装在软件的安装目录,默认是在安装目录,否则自己指定路径。

      先建立一个目录,不然后面configure的时候会出错:

    mkdir -p /usr/local/python/2.7.10/lib

    ./configure --enable-shared --prefix=/usr/local/python/2.7.10 LDFLAGS="-Wl,-rpath /usr/local/python/2.7.10/lib"

    make && make install && make clean

4、切换新版本

    此处一定要把原来的 python2.7.5保留,我开始是直接覆盖了老版本,结果发现 yum 不能用了,费了无数劲,也没搞定,只好重装了系统,反正是测试的虚拟机(不过第二天找到修复的办法了)

    mv /usr/bin/python /usr/bin/python2.7.5

    ln -fs /usr/local/python/2.7.10/bin/python2.7 /usr/bin/python

5、解决 yum 的问题

    因为yum需要使用Python2.7.5的版本,现在 yum 应该不能干活了,还有设置一下yum相关的文件,这样执行yum相关的命令时才不会出错。vi /usr/bin/yum,修改第一句,替换成保留的2.7.5的版本:

!/usr/bin/python2.7.5

    看了很多人说改完上面的就万事大吉了,我修改了上面的之后,yum还是出问题,然后又根据出问题的部分修改了"/usr/libexec/urlgrabber-ext-down"下的第一句:

!/usr/bin/python2.7.5

    果然熟悉的 yum 界面出来了!

5、安装 setuptools、pip

    老版本的这些,都不能生效了,得重新装过,我在这遇到很多坑,菊花残,满身伤啊!

    下载ez_setup.py文件,安装setuptools:

     wget https://bootstrap.pypa.io/ez_setup.py

    运行以下命令安装,因为之前没装 zlib-devel 模块,下面的命令执行不成功,没办法,yum install zlib-devel ,然后理新编译 python。

    python ez_setup.py 

    下载pip源码,进入源码目录进行安装,这一步也因为第一步骤的相关组件没装,坑了半天

    wget https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gz#md5=3823d2343d9f3aaab21cf9c917710196

    tar zxvf Python-2.7.10.tgz

    cd Python-2.7.10

    python setup.py install  

    增加一个软链接,这一步好象不是很必要:

    ln -fs /usr/local/python/2.7.10/bin/pip /usr/bin/pip

    本以为这样就万事大吉了,结果运行 pip,直接报错,又是因为依赖的组件没装。

    最后再说一下,最好把新的 python 的路径加到 PATH 环境变量中,否则还会有其他组件运行不正常。


推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 去掉空格的方法——Python工程师招聘标准与实践
    本文介绍了去掉空格的方法,并结合2019独角兽企业招聘Python工程师的标准与实践进行讨论。同时提供了一个转载链接,链接内容为更多相关信息。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • http:valor-software.comng2-bootstraphttps:www.primefaces.orgprimeng#autocomplete转载于:https: ... [详细]
author-avatar
用户8vcs8un00z
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有