今天一不小心又把ubuntu系统给完坏了,因为我把python3卸载了,然后就。。。好了,不废话了,接下来就说一下如何在ubuntu下管理python的多个版本。我这里使用的是一个叫pyenv的Python版本管理工具。

  系统环境:ubuntu14.04LTS,系统默认的python版本为2.7,我这里想要再安装一个3.4.3版本。

  • 再安装python之前,我们首先要安装这个管理工具pyenv:
$ git clone git://github.com/yyuu/pyenv.git ~/.pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
$ exec $SHELL -l

  我们还可以通过下面这个命令来查看可以安装的python版本:

$ pyenv install --list
  • 如果我们确定要安装python3.4.3的话,接下来我们就可以安装python了,但是再安装之前,我们必须要安装python所需要的依赖包,这个必须要安装,安装会失败的:
$ sudo apt-get install libc6-dev gcc
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
  • 上面的依赖包搞定之后,我们就可以安装python了:
$ pyenv install 3.4. -v

  该命令会从github上下载python的源代码,并解压到/tmp目录下,然后在/tmp中执行编译工作。若依赖包没有安装,则会出现编译错误,需要在安装依赖包滞后重新执行该命令。

  • 安装完成之后,需要使用如下命令对数据库进行更新:
$ pyenv rehash
  • 查看当前已经安装的python版本
$ pyenv versions
* system (set by /home/seisman/.pyenv/version)
3.4.

  其中星号代表是当前系统正在使用的python版本是系统自带的。

  • 设置全局的python版本
$ pyenv global 3.4.
$ pyenv versions
system
* 3.4. (set by /home/seisman/.pyenv/version)

  从上面,我们可以看出来当前的python版本已经变为了3.4.3。也可以使用pyenv local或pyenv shell临时改变python的版本。

  • 确认python版本
$ python
Python 3.4. (default, Apr , ::)
[GCC 4.8.] on linux
Type "help", "copyright", "credits" or "license" for more information.

  注意事项:

  • 输入python即可使用新版的python;
  • 系统自带的脚本会以/usr/bin/python的方式直接调用老版本的python,因而不会对系统脚本产生影响;
  • 使用pip安装第三方模块时会安装到~/.pyenv/versions/3.4.3下,不会和系统模块发生冲突;
  • 使用pip安装模块后,可能需要执行pyenv rehash更新数据库。

  参考资料:

  [1] http://seisman.info/python-pyenv.html

  [2] http://crazyof.me/blog/archives/13.html

ubuntu下安装多版本Python的更多相关文章

  1. Ubuntu下安装pip3和Python的第三方库

    一.Ubuntu原有环境说明 无论是在服务器上面还是在我们自己的电脑上面,当我们成功安装了Ubuntu系统之后,系统一般情况下会自带Python2.x和Python3.x环境.比如我在自己的阿里云服务 ...

  2. Python 基础之在ubuntu系统下安装双版本python

    前言:随着python升级更新,新版本较于老版本功能点也有不同地方,作为一个初学者应该了解旧版本的规则,也要继续学习新版本的知识.为了能更好去学习python,我在ubuntu安装python2和py ...

  3. Mac下安装多版本python

    1.安装Homebrew 将命令行复制至终端,进行安装. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/H ...

  4. Centos7下安装共存版本Python

    最近遇到个问题, 本机环境已安装了Python2   已安装的应用依赖于Python2,不能替换原系统的Python环境,但新安装的应用需要依赖于Python3 需要安装两个不同版本Python,解决 ...

  5. Ubuntu下安装指定版本的mysql

    1.编辑/etc/apt/sources.list和/etc/apt/sources.list.save, 手动加上deb http://archive.ubuntu.com/ubuntu trust ...

  6. ubuntu下安装低级版本gcc/g++ 并随意切换

    来自:http://blog.sina.com.cn/s/blog_6cee149d010129bl.html 发现Android的版本中编译Host的程序经常因为本机的Gcc版本过高,需要这样那样的 ...

  7. ubuntu下安装tensorflow-gpu版本过程

    我之前已经安装了cpu-only版的tensorflow,所以现在要先把原先的tf卸载 sudo pip uninstall tensorflow sudo pip3 install tensorfl ...

  8. Ubuntu16.04下安装最新版本的CMake

      当前最新版CMake为3.9.1.. Ubuntu中更新cmake到最新版本,过程如下: 1. 卸载已经安装的旧版的CMake[非必需] apt-get autoremove cmake 2. 文 ...

  9. 在Window平台下安装xgboost的Python版本

    原文:http://blog.csdn.net/pengyulong/article/details/50515916 原文修改了两个地方才安装成功,第3步可以不用,第2步重新生成所有的就行了. 第4 ...

随机推荐

  1. andorid lint

    (一)Lint简介 Android SDK提供了一个代码扫描工具,称为lint.可以帮助您轻松地识别并纠正问题与结构质量的代码,不必执行应用程序或编写任何测试用例.每个问题检测到该工具报告的一个描述消 ...

  2. 技术文档--volley 框架

    Volley 框架 参考文档:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f73e7e808c027fa ...

  3. sublime Text3 插件编写教程_第一课

    今天给大家分享一下编写一个Sublime Text3 插件的流程以及使用插件解决的一个实际问题. 一.开发插件的前提条件 开发sublime插件用到的是Python语言,因此必须懂Python语言的基 ...

  4. Dynamic CRM 2013学习笔记(十三)附件上传 / 上传附件

    上传附件可能是CRM里比较常用的一个需求了,本文将介绍如何在CRM里实现附件的上传.显示及下载.包括以下几个步骤: 附件上传的web页面 附件显示及下载的附件实体 调用上传web页面的JS文件 实体上 ...

  5. Fragment之间的通信

    在本节中,你会学到 1.定义接口 2.实现接口 3.将消息传递给fragment 为了重用Fragment UI 组件,在设计中你应该通过定义每一个fragemnt自己的layout和行为,让frag ...

  6. [ACM_动态规划] POJ 1050 To the Max ( 动态规划 二维 最大连续和 最大子矩阵)

    Description Given a two-dimensional array of positive and negative integers, a sub-rectangle is any ...

  7. 小米Web前端JavaScript面试题

    面试题目 一. 请定义这样一个函数 function repeat (func, times, wait) { } 这个函数能返回一个新函数,比如这样用 var repeatedFun = repea ...

  8. 微软发布手机版 Sample Browser。7000多示例代码一手掌握

    今天早上,Sample Browser发布其全新的Windows Phone版本.至此,自2012年相继推出Desktop版.Visual Studio版,以及2013年推出Windows Store ...

  9. Linux基础精华

    Linux基础精华 (继续跟新中...) 常用命令: Linux shell 环境 让你提升命令行效 率的 Bash 快捷键 [完整版] 设置你自己的liux alias Linux的Find使用 L ...

  10. JSP JSTL EL

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> Html代码 复制代 ...