一、Centos下升级python3.7.2

1、下载安装

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

tar -zxvf Python-3.7.2.tgz && cd Python-3.7.2

#编译安装
./configure --prefix=/usr/
make -j8 && make install #此时已完成新版本的安装,但由于老版本还在系统中,所以需要将原来/usr/bin/python链接改为新的连接
#a.先修改老的连接,执行
mv /usr/bin/python /usr/bin/python2.6
#b.再建立新连接
ln -s /usr/local/bin/python3.7 /usr/bin/python
ln -s /usr/local/bin/python3.7-config /usr/bin/python-config #查询python版本
python -V

2、解决升级后YUM无法使用

#打开/usr/bin/yum
vim /usr/bin/yum
#将#!/usr/bin/python 修改为 #!/usr/bin/python2.6,保存退出
yum list

3、使用easy_install和 pip 安装模块

#yum 安装 easy_install
yum install python-setuptools gcc python-devel gcc libffi-devel python-devel openssl-devel readline-devel patch
easy_install pip #通过ezsetup.py安装easyinstall
wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py
python ez_setup.py --insecure #举个例子:安装模块paramiko,以下两种方法都可以
easy_install paramiko
pip install paramiko #安装带setup.py的多文件模块包,下载后,解压,进入目录
python setup.py install

二、Centos下升级到2.7.x

1、下载安装

wget http://www.python.org/ftp/python/2.7.8/Python-2.7.8.tar.xz
xz -d Python-2.7.8.tar.xz && tar -xvf Python-2.7.8.tar cd Python-2.7.8
# 运行配置 configure:
./configure --prefix=/usr/local
# 编译安装:
make && make altinstall
# 检查 Python 版本:
python2.7 -V

2、设置path

export PATH="/usr/local/bin:$PATH" or  ln -s /usr/local/bin/python2.7  /usr/bin/python

3、安装 setuptools

wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz
tar -xvf setuptools-1.4.2.tar.gz
cd setuptools-1.4.2
python2.7 setup.py install

4、安装 PIP

curl  https://bootstrap.pypa.io/get-pip.py | python2.7 -

5、修复yum

[root@dbmasterxxx ~]# which yum
/usr/bin/yum
#修改 yum中的python
将第一行 #!/usr/bin/python 改为 #!/usr/bin/python2.6
此时yum就ok啦

二、Ubuntu下升级python

命令行使用python3 或者创建链接即可

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

1、安装,有PPA可用(支持所有Ubuntu版本及衍生系统)

sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get install python3.7

2、创建连接

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

3、安装pip

sudo apt-get install python3-pip
sudo python3 -m easy_install pip
sudo pip3 install <packagename>

三、多版本共存

参考:https://github.com/yyuu/pyenv

https://github.com/yyuu/pyenv-installer

参考链接

https://www.digitalocean.com/community/tutorials/how-to-set-up-python-2-7-6-and-3-3-3-on-centos-6-4

Linux 下编译升级 Python的更多相关文章

  1. [转]linux下编译boost.python

    转自:http://blog.csdn.net/gong_xucheng/article/details/25045407 linux下编译boost.python 最近项目使用c++操作python ...

  2. Linux下安装升级python

    本文主要是参考帖子,感谢这位博主,我主要是对相关操作进行补充和说明. 本文主要是在linux(centos)下安装Python3.7.1 1.下载安装Python-3.7.1 1) 下载Python- ...

  3. linux下编译安装python

    从官网下载指定的源码包 https://www.python.org/downloads/source/ 把源码文件以二进制方式上传到linux服务器 安装python需要用到gcc工具,首先查看gc ...

  4. Python在Linux下编译安装

    [准备环境] Linux centos [前言] 1 linux下默认带Python,带的是2.7版本的 ,如果需要升级版本,需要把系统的自带的Python改名或者卸载,再次安装你所需要的Python ...

  5. linux下编译原理分析

    linux下编译hello.c 程序,使用gcc hello.c,然后./a.out就能够执行:在这个简单的命令后面隐藏了很多复杂的过程,这个过程包含了以下的步骤: ================= ...

  6. 【转】Centos下编译升级安装Boost

    https://www.xingchenw.cn/article/191 Centos下编译升级安装Boost 首先在官网现在相应的包 https://www.boost.org/users/down ...

  7. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

  8. Linux下编译安装Apache及模块

    Apache是时下最流行的Webserver软件之中的一个,支持多平台,可高速搭建web服务,并且稳定可靠.并可通过简单的API扩充.就能够集成PHP/Python等语言解释器. 文章这里解说怎样在l ...

  9. linux安装软件的几种方法----linux下编译安装软件的一般步骤

    linux安装软件的几种方法: 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...

随机推荐

  1. [linux]挂载smb

    什么是 smb 服务器消息区块(英语:Server Message Block,缩写为SMB,服务器消息区块),又称网络文件共享系统(英语:Common Internet File System,缩写 ...

  2. 搭建OpenGL环境-Windows/VS2013

    对于opengl的环境,简单搭建的话其实和opencv差不多,你会看到下面的过程与opencv类似,不同的就是某些文件需要自己找(因为不是集成的,各个拓展需要单独下载) 1.首先,对于opengl头文 ...

  3. Android之仿ele地图定位效果

    PS:最近项目要求,希望在选择地址的时候能够仿ele来实现定位效果.因此就去做了一下.不过ele使用高德地图实现的,我是用百度地图实现的.没办法,公司说用百度那就用百度的吧.个人觉得高德应该更加的精准 ...

  4. OpenCV2:Mat

    1.Mat基础 在计算机内存中,数字图像是已矩阵的形式保存的.OpenCV2中,数据结构Mat是保存图像像素信息的矩阵,它主要包含两部分:矩阵头和一个指向像素数据的矩阵指针. 矩阵头主要包含,矩阵尺寸 ...

  5. Java 技能树

  6. MySQL5.7不停业务将传统复制变更为GTID复制

      由于GTID的优势,我们需要将传统基于file-pos的复制更改为基于GTID的复制,如何在线变更成为我们关心的一个点,如下为具体的方法: 目前我们有一个传统复制下的M-S结构: port 330 ...

  7. JAVA字符串格式化-String.format()的使用

    String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处.format()方法有两种重载形式. form ...

  8. MVC学习笔记1

    1. Action 如果返回的是自定义的引用类型,则默认返回的是类名,其实就是调用了类的tostring方法. 2. @Html.Partial用于将分部视图渲染为字符串 @{Html.RenderP ...

  9. c#中字段和属性的区别

    在我看来(本人是C#初学者)字段实际上类似一个变量,或者就直接说字段就是一个变量.相应的属性也可以看做是一个变量,只不过多了一些限制而已. using System;using System.Coll ...

  10. Android手机总是提示:存储空间不足,解决方法

    手机才有16G空间,用一段时间后,总是提示内存不足,各种清理软件都没卵用. 有一个方法立即见效: 1.进入Recovery 2.格式化 SDCard 博客园首席神棍 野生菌野菜干批发 大舍大得 小舍小 ...