经常遇到这样的情况:

系统自带的Python是2.x,自己需要Python 3.x,此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存,pyenv就是这样一个Python版本管理器。

1.安装pyenv:

1.>安装依赖包:

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

2.>安装pyenv包:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

3.>设置环境变量:

#vim ~/.bashrc 
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)" #source ~/.bashrc
#即是启动语句,重启系统执行这条语句
exec $SHELL

2.查看pyenv支持的python版本,同时也是检验有没有安装成功:

pyenv install --list

3.查看当前pyenv可检测到的所有版本,处于激活状态的版本前以 * 标示.

[root@localhost ~]# pyenv versions
system
3.5.1
* 3.5.3 (set by /root/.pyenv/version)

4.查看当前处于激活状态的版本,括号中内容表示这个版本是由哪条途径激活的(global、local、shell)

[root@localhost ~]# pyenv version
3.5.3 (set by /root/.pyenv/version)

5.将3.5.1作为全局变量,使用如下命令.

[root@localhost ~]# pyenv global 3.5.1
[root@localhost ~]# pyenv version
3.5.1 (set by /root/.pyenv/version)

6.设置面向程序的本地版本,通过将版本号写入当前目录下的.python-version 文件的方式。
 #在本地创建目录ops,执行pyenv local 3.5.3后,只有在这个目录是3.5.3的版本,别的目录使用默认的版本.

[root@localhost ~]# python -V
Python 3.5.1
[root@localhost ~]# pyenv versions
system
* 3.5.1 (set by /root/.pyenv/version)
3.5.3
[root@localhost ~]#
[root@localhost ~]# mkdir ops
[root@localhost ~]# cd ops/
[root@localhost ops]# pyenv local 3.5.3
[root@localhost ops]# python -V
Python 3.5.3
[root@localhost ops]# cd ..
[root@localhost ~]# python -V
Python 3.5.1

7.安装你需要的Python版本(如3.4.0):

pyenv install 3.4.0 -v

#小技巧,可以在/root/.pyenv/目录下创建cache目录,将下载好的Python-3.4.0的包放在该目录下,就可以直接执行安装,而不需要下载,节省下载时间.

8.安装完成之后需要对数据库进行更新:

pyenv rehash

9.卸载python 3.4.0版本.

pyenv uninstall 3.4.0

参考文档:

     http://www.jianshu.com/p/a23448208d9a

    http://www.360doc.com/content/16/0821/11/35455208_584738668.shtml

    http://www.linuxidc.com/Linux/2017-02/140201.htm

Python多版本管理-pyenv的更多相关文章

  1. 转 Python多版本管理-pyenv

    #######for linux https://www.cnblogs.com/saneri/p/7642316.html 经常遇到这样的情况: 系统自带的Python是2.x,自己需要Python ...

  2. python 多版本管理pyenv和virtualenv虚拟开发环境

    pyenv是管理多个python版本的工具. 1.pyenv的安装 git clone https://github.com/yyuu/pyenv.git ~/.pyenv 2.将PYENV_ROOT ...

  3. 你应该学会的Python多版本管理工具Pyenv

    目录 Pyenv 简介 安装pyenv 通过pyenv安装python各种发行版 pyenv命令 多版本Python的管理 Pyenv常见问题Wiki Pyenv 简介 首先,该工具是在类linux环 ...

  4. python多版本管理包pyenv

    前言: CentOS7  默认版本 python2.7.5 ,但是目前项目开发都是在python3的环境下,而单独编译安装python3时会出现各种异常!!! 系统默认python2.7又不能删除,否 ...

  5. Python多版本管理器-pyenv 介绍及部署记录

    一. pyenv简单介绍 在日常运维中, 经常遇到这样的情况: 系统自带的Python是2.x,而业务部署需要Python 3.x 环境, 此时需要在系统中安装多个Python版本,但又不能影响系统自 ...

  6. centos下python多版本管理(pyenv+python+virtualenv+ipython)

    pyenv是个多版本python管理器,可以同时管理多个python版本共存,如pypy,miniconde等等 1 环境准备 安装相关软件和pyenv1.1 安装相关软件yum install -y ...

  7. Python开发环境-Pyenv安装使用

    安装使用-Pyenv 简单的python版本管理:pyenv 管理python解释器 管理python版本 管理python的虚拟环境 官网:https://github.com/pyenv/pyen ...

  8. Linux——Django 开发环境部署(二)python版本控制器pyenv

    python版本控制器pyenv 之前的 那篇是说明了django环境的site package完全独立出来了,但是使用的python解释器还是系统的,为了继续独立出来,甚至是达到ruby的rvm的自 ...

  9. python系列-3 pyenv的使用

    安装: git clone https://github.com/yyuu/pyenv.git ~/.pyenv echo 'export PYENV_ROOT="$HOME/.pyenv& ...

随机推荐

  1. spring:org.springframework.web.servlet.DispatcherServlet noHandlerFound解决方法

    1.搜了许久: <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern& ...

  2. 新知识:JQuery语法基础与操作

     jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨是"write ...

  3. dijkstra算法:寻找到全图各点的最短路径

    dijkstra算法介绍:即迪杰斯特拉算法,是从一个顶点到其余各顶点的最短路径算法,解决的是有向图中最短路径问题.迪杰斯特拉算法主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止,是一种广度优先 ...

  4. GNSS相关网站汇总

    转载: https://blog.csdn.net/zzh_my/article/details/78449972 一.bernese 数据表文件下载 ftp://nfs.kasi.re.kr rin ...

  5. python flask中的代码约定

    在Python社区中有许多关于代码风格的约定.如果你写过一段时间Python了,那么也许对此已经有些了解. 我会简单介绍一下,同时给你一些URL链接,从中你可以找到关于这个话题的详细信息. 让我们提出 ...

  6. asp.net core ABP模板本地化设置

    ABP的语言本地化设置非常方便,甚至地区图标ABP框架都已经有了. 先看看结果吧. 英文的界面 中文的界面 配置流程如下: 首先在Localization目录下新建一个对应的json文件,里面存放对应 ...

  7. Vue初学跳坑

    1. uncaught TypeError: Cannot read property '0' of undefined <div class="home-module-wrap&qu ...

  8. linux dialog详解(图形化shell)

    liunx 下的dialog 工具是一个可以和shell脚本配合使用的文本界面下的创建对话框的工具.每个对话框提供的输出有两种形式:   1.  将所有输出到stderr 输出,不显示到屏幕.   2 ...

  9. ActiveX、OLE和COM的关系(转自百度文档)

    比较流行的组件模型有COM(Component Object Model,对象组件模型)/DCOM(Distributed COM,分布式对象组件模型)和CORBA(Common Object Req ...

  10. 解决持久化数据太大,单个节点的硬盘无法存储的问题;解决运算量太大,单个节点的内存、CPU无法处理的问题

    需要学习的技术很多,要自学新知识也不是一件容易的事,选择一个自己比较感兴趣的会是一个比较好的开端,于是,打算学一学分布式系统. 带着问题,有目的的学习,先了解整体架构,在深入感兴趣的细节,这是我的计划 ...