一、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. Java继承与组合

    Java继承与组合 继承 java 中使用extends关键字表示继承关系,当创建一个类时,如果没有明确指出要继承的类,则是隐式地从根类Object进行继承. 子类继承父类的成员变量 子类能够继承父类 ...

  2. OpenCV2简单的特征匹配

    特征的匹配大致可以分为3个步骤: 特征的提取 计算特征向量 特征匹配 对于3个步骤,在OpenCV2中都进行了封装.所有的特征提取方法都实现FeatureDetector接口,DescriptorEx ...

  3. Python解析非标准JSON(Key值非字符串)

    采集数据的时候经常碰到一些JSON数据的Key值不是字符串,这些数据在JavaScript的上下文中是可以解析的,但在Python中,没有该部分数据的上下文,无法采用json.loads(JSON)的 ...

  4. jQuery获取及设置单选框、多选框、文本框内容

    获取一组radio被选中项的值 var item = $('input[@name=items][@checked]').val(); 获取select被选中项的文本 var item = $(&qu ...

  5. 【C#】可空类型(Nullable)

    C# 可空类型(Nullable) C# 提供了一个特殊的数据类型,nullable 类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值. 例如,Nullable& ...

  6. Wijmo 2016 V3发布

    互操作性增强 Wijmo继续扩展互操作性包括Angular 2.ReactJS和VueJS. 模块支持 Wijmo最初设计为单个模块. 一切都存储在Wijmo命名空间.Wijmo现在包含很多不同的模块 ...

  7. 什么是java 序列化,如何实现java 序列化?

    我们有时候将一个 java 对象变成字节流的形式传出去或者从一个字节流中恢复成一个java 对象,例如,要将java 对象存储到硬盘或者传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个ja ...

  8. qam 64的设计

    module qam64(x,out,clk,clk1,rst);input x,clk,clk1,rst;output [18:0] out;reg [2:0] count;reg [5:0] re ...

  9. [moka同学笔记]五、Yii2.0课程笔记(魏曦老师教程)[审核功能]

  10. 25、ASP.NET MVC入门到精通——Spring.net-业务层仓储

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 上一节,我们已经把项目框架的雏形搭建好了,那么现在我来开始业务实现,在业务实现的过程当中,不断的来完善我们现有的框架. 1.假设我们来做一个 ...