一、简介

一般在操作系统中我们会安装多个Python版本,所以在进行Python版本切换时会比较麻烦,pyenv就提供了一种简单的方式,能简易地在多个Python版本中进行切换的工具,它简单而优雅。pyenv有以下功能:

1)进行全局的Python版本切换
2)为单个项目提供对应的Python版本
3)使用环境变量能让你重写Python版本
4)能在同一时间在不同版本间进行命令搜索

pyenv拥有以下特点:

1)只依赖Python本身
2)将目录添加进$PATH即可使用
3)能够进行virtualenv管理

二、安装

介绍以下两种方式:

1)方式1:

第一步:在自己的用户目录下执行

curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

第二步:在上述运行完之后通常在命令行中会出现下述提示,将之添加到~/.bashrc中, source ~/.bashrc使之生效,这样我们的pyenv算是初步安装成功了。 
#Seems you still have not added 'pyenv' to the load path:
export PYENV_ROOT="${HOME}/.pyenv"
if [ -d "${PYENV_ROOT}" ]; thenexport PATH="${PYENV_ROOT}/bin:${PATH}"eval "$(pyenv init -)"
fi

第三步:在CentOS/RHEL/Fedora下,安装Python时需要首先安装其依赖的其他软件包,执行如下脚本解决依赖问题:

http://files.cnblogs.com/files/274914765qq/pyenv_resolve_dependent.sh

2)方式2:

第一步:依次执行如下指令
wget http://files.cnblogs.com/files/274914765qq/pyenv-20150113.1.tar.gz
tar -zxvf pyenv-20150113.1.tar.gz
cd pyenv-20150113.1
python setup.py install

第二步:在上述运行完之后通常在命令行中会出现下述提示,将之添加到~/.bashrc中, source ~/.bashrc使之生效,这样我们的pyenv算是初步安装成功了。

# Load pyenv automatically by adding
# the following to your profile:export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

第三步:在CentOS/RHEL/Fedora下,安装Python时需要首先安装其依赖的其他软件包,执行如下脚本解决依赖问题:

http://files.cnblogs.com/files/274914765qq/pyenv_resolve_dependent.sh

三、使用实例

1)显示当前使用的Python

pyenv versions

2)显示当前Python的安裝路径

pyenv which python

3)设置默认的Python版本

pyenv global

4)在当前路径创建一个.python-version,以后进入这个目录自动切换为该版本

pyenv local

5)在当前shell的session中启用某个Python版本,优先级高于global,local

pyenv shell

6)安装指定Python版本

pyenv install -v 2.7.3

7)卸载指定Python 版本

pyenv uninstall -v 2.7.3

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

pyenv rehash

参考:https://github.com/yyuu/pyenv-installer
     http://seisman.info/python-pyenv.html
     http://my.oschina.net/lionets/blog/267469
     http://seisman.info/python-pyenv.html

转载于:https://www.cnblogs.com/274914765qq/p/5153632.html

Python pyenv相关推荐

  1. linux python pyenv,在Centos中安装并使用Pyenv,一个强大的Python版本管理工具

    Python发展到现在已经很强大了,各种开发相信大家都可以随心应对.但是唯独虚拟环境让人觉得很头大,不同的项目使用到的库版本不同要求我们为每一个项目创建其独一无二的环境.如果到现在你开发的项目都是基于 ...

  2. PYTHON: PYENV, PYVENV, VIRTUALENV – WHAT’S THE DIFFERENCE?

    详细请看:http://masnun.com/2016/04/10/python-pyenv-pyvenv-virtualenv-whats-the-difference.html So i see ...

  3. python: pyenv (python版本控制) 安装配置

    标准教程来自官网pyenv - installation: 先把 github原始仓库 clone至 ~/.pyenv: git clone https://github.com/pyenv/pyen ...

  4. pyenv 让 python 版本完美切换

    前言 我觉得如果使用 python 开发的话,还是在 unix/linux 的环境下吧,shell 工具的效率比 windows 高得多,尽管 windows 下也有 cmder 这种神器,而且现在 ...

  5. Python的虚拟环境配置(pyenv+virtualenv)

    一.为什么需要配置虚拟环境 Python 2和Python 3之间存在着较大的差异,并且,由于各种原因导致了Python 2和Python 3的长期共存.在实际工作过程中,我们可能会同时用到Pytho ...

  6. fedora安装pyenv实现python的版本管理

    使用pyenv-installer安装pyenv curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/ ...

  7. Python虚拟环境安装与pyenv

    Python环境安装 Pyenv Python虚拟环境:pyenv https://github.com/pyenv/pyenv pyenv是Python多版本管理工具,需要管理的部分: 管理Pyth ...

  8. Python虚拟环境之pyenv

    参考 https://blog.51cto.com/u_14320361/2488888 1.安装git sudo yum install git 2.安装pyenv 下载安装 git clone h ...

  9. 使用pyenv进行Python多版本控制

    使用pyenv进行Python多版本控制 多Python版本共存的问题 想要让多个Python版本共存,我们想到的方法有如下两种: - 编译安装新版本至某一个路径 - 多版本python管理工具 如果 ...

最新文章

  1. 递归解决八皇后问题-小昝
  2. Json,String,Map之间的转换
  3. 相似三角形_JAVA
  4. day4-生成器并行运算
  5. RNN-循环神经网络和LSTM_01基础
  6. mysql schema命名规范_数据库设计 命名及编码规范
  7. Velocity教程【转】
  8. LeetCode 56. 合并区间(合并区间+排序)
  9. shell监控脚本-监控mysql 主从复制
  10. 开发日志:按照每月每天,每年每月,每月每周汇总数据
  11. go标准库的学习-net
  12. HDU 3729 I#39;m Telling the Truth(二部图最大匹配+结果输出)
  13. 支持鸿蒙系统的手机名单,华为鸿蒙系统支持手机型号名单
  14. Ardusub源码解析学习(二)——电机库
  15. 添加网络位置(共享目录)
  16. 服务器虚拟内存设置在什么盘,虚拟内存设置在哪个磁盘呢
  17. 爬虫项目:大麦网分析
  18. 浅谈大型互联网的企业入/侵及防护策略
  19. 【投屏】Scrcpy源码分析三(Client篇-投屏阶段)
  20. C语言中fopen函数使用举例及打开方式列表

热门文章

  1. 华为杯大学生计算机软件大赛,关于举办2018年西安电子科技大学程序设计网络赛暨第十六届“华为杯”大学生程序设计竞赛的通知...
  2. xml mysql 模糊查询_mybatis+Spring mysql的模糊查询问题
  3. java arraylist排序_最全Java集合笔记
  4. xp系统设置锁定计算机,系统锁定时不关机的诀窍 给XP系统关闭计算机再加一把锁...
  5. php-cgi cpu很高,php-cgi占用cpu资源过高的解决方法
  6. php如何编写通信协议,定制通讯协议
  7. 靶场练习第二十五天~vulnhub靶场之Raven-2
  8. C++网络编程快速入门(四):EPOLL模型使用
  9. 重构——解决过长参数列表(long parameter list)
  10. 【视觉项目】【day1】8.20号实验记录(初步使用模板匹配)