专栏首页python3CentOS7 升级 python3 过

CentOS7 升级 python3 过

CentOS7 升级 python3 过程及注意

检查当前的版本
[root@node1 ~]# python -V
Python 2.7.5
创建安装目录(自定义)
[root@node1 Python-3.7.1]# mkdir /usr/local/python3

从官网下载python3的压缩包,解压(以3.7.1版本为例)
# wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
# tar zxf Python-3.7.1.tgz 

cd 进入解压目录,然后
# cd Python-3.7.1
# ./configure --prefix=/usr/local/python3/
# make && make install

cd 进入/usr/bin
其中有python、python2、python2.7三个文件依次指向后者。
备份当前默认版本python,如果有需要还可还原:
# sudo mv python python.bak

创建python3.7的新链接(也可建立python3命令以区分,同mac),这样默认的python版本就替换为python3.7了
# ln -s /usr/local/python3/bin/python3.7 /usr/bin/python

检查当前默认python版本
# python -v

由于yum使用python2,替换为python3后无法正常工作,
因此修改yum配置文件:
# sudo vi /usr/bin/yum
将第一行指定的python版本改为python2.7:
*#!/usr/bin/python 改为 #!/usr/bin/python2.7

修改urlgrabber配置文件(网上很多教程都漏了这一步)
# sudo vi /usr/libexec/urlgrabber-ext-down
同yum,把头部的python改成python2.7

链接:https://www.jianshu.com/p/74227d7ae6a6

问题

Python安装完毕后,提示找不到ssl模块:

(<http://blog.csdn.net/qq_25560423/article/details/62055497>;)

例如这样: 

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. 

Collecting xxx 

Could not fetch URL <https://pypi.python.org/simple/xxxx/>: There was a problem confirming the ssl certificate: Can’t connect to HTTPS URL because the SSL module is not available. - skipping 

Could not find a version that satisfies the requirement xxx (from versions: ) 

No matching distribution found for xxx

[root@localhost ~]# python2.7.5

Python 2.7.5 (default, Jun 3 2013, 11:08:43)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2

Type “help”, “copyright”, “credits” or “license” for more information.

import ssl Traceback (most recent call last): File “”, line 1, in File “/usr/local/python27/lib/python2.7/ssl.py”, line 60, in import _ssl # if we can’t import it, let the error propagate ImportError: No module named _ssl


  1. 查看openssl安装包,发现缺少openssl-devel包 [root@localhost ~]# rpm -aq|grep openssl openssl-0.9.8e-20.el5 openssl-0.9.8e-20.el5 [root@localhost ~]#
  2. yum安装openssl-devel [root@localhost ~]# yum install openssl-devel -y 查看安装结果 [root@localhost ~]# rpm -aq|grep openssl openssl-0.9.8e-26.el5_9.1 openssl-0.9.8e-26.el5_9.1 openssl-devel-0.9.8e-26.el5_9.1 openssl-devel-0.9.8e-26.el5_9.1
  3. 重新编译python 修改Setup文件 vi /usr/software/Python-2.7.5/Modules/Setup 修改成下面:
Socket module helper for socket(2)

_socket socketmodule.c timemodule.c

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
  1. 重新编译 make make install
  2. 测试,已可正常使用。 [root@localhost ~]# python2.7.5 Python 2.7.5 (default, Jun 3 2013, 14:56:13) [GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2 Type “help”, “copyright”, “credits” or “license” for more information. import ssl

重新用pip安装

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Centos7.6下安装Python3.

    将python3.7安装到/usr/local/sbin/python-3.7目录下

    用户2398817
  • Python下VTK 编程

    2)安装VTK,从网站http://www.vtk.org/VTK/resources/software.html 下载最新版本,此文安装的是:vtkpytho...

    用户2398817
  • Debian修改默认Python

        Linux version 4.9.0-4-686-pae这是linux系统版本,我这边使用的是debian9.2还是9.0来着,应该都是通用的。

    用户2398817
  • ArcPY系列之六(等分线段)

    等分顾名思义,就是将一条长长的线,按照比例分成若干条,每一条的长度都是相等的,本公众号也推送过一些类似的FME实现版本,可参考:版本(一)、版本(二)

    数据处理与分析
  • CSS 中重要的层叠概念

    最近在项目中遇到了一个问题,menu-bar 希望始终显示在最上面,而在之后的元素都显示在它之下,当时设置了 z-index 也没有效果,不知道什么原因。

    小生方勤
  • 质检总局、发改委:拟建大数据中心遏制电商售假

      1月17日,一位接近国家质检总局的人士向《每日经济新闻》记者透露,国家发改委与国家质检总局将共建“全国电子商务质量大数据应用中心”,并落户于杭州,这个中心有...

    腾讯研究院
  • [翻译]混沌工程的原则

    本文已存放在 https://github.com/wizardbyron/principlesofchaos_zh-cn 上,欢迎来 PR

    顾宇
  • 红海中的母婴电商,还有哪些不可逆转的大变化

    近日,贝贝网创始人兼CEO张良伦在2015中国母婴行业峰会上分享了《创变者无疆》,即创造变化的人是没有边界的主题演讲。这个“变”恰好诠释了母婴电商行业的发展轨迹...

    曾响铃
  • CSS中的层叠上下文与顺序

    层叠上下文,英文称作”stacking context”. 是HTML中的一个三维的概念。如果一个元素含有层叠上下文,我们可以理解为这个元素在z轴上就“高人一等...

    javascript.shop
  • CSS 中重要的层叠概念

    最近在项目的过程中遇到了一个问题,menu-bar希望始终显示在最上面,而在之后的元素都显示在它之下,当时设置了 z-index 也没有效果,不知道什么原因,因...

    SHERlocked93

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动