详解使用 pyenv 管理多个版本 python 环境


Posted in Python onOctober 19, 2017

 随着同时开发的项目越来越多,需要不停的在各个不同版本的 python 环境之间切换,所以想到了pyenv。以前一直使用的 virtualenv只能管理同一个 python 版本下第三方库的版本,但是对于这种需要在多个不同版本之间切换的 case,就只能使用 pyenv 了。

安装

运行下面的命令会自动下载安装

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

安装完成后,需要修改 ~/.bashrc 文件,把pyenv加到 PATH 里。这里是添加如下行到 ~/.bashrc 文件中。

export PATH="/home/kongxx/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

然后 source 一下环境

$ .~/.bashrc

使用 pyenv 管理 python 版本

首先查看当前系统上已经安装和正在使用的 python 版本。

$ pyenv versions
* system (set by /home/kongxx/.pyenv/version)

其中 system 表明是系统安装的包。* 表示当前正在使用的 python 环境。

查看当前可以被安装的 python 版本。

$ pyenv install -l
Available versions:
 2.1.3
 2.2.3
 2.3.7
 2.4
 2.4.1
...

安装指定版本的 python

$ pyenv install 2.7.10
Downloading Python-2.7.10.tar.xz...
-> https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tar.xz
Installing Python-2.7.10...
patching file ./Lib/site.py
Installed Python-2.7.10 to /home/kongxx/.pyenv/versions/2.7.10

$ pyenv install 3.2.1
...

安装后查看现在已经安装了的 python 版本。

$ pyenv versions
* system (set by /home/kongxx/.pyenv/version)
 2.7.10
 3.2.1

使用制定版本的 python

$ pyenv global 3.2.1
$ python -V
Python 3.2.1

使用后查看当前使用的 python 版本。

$ pyenv version
3.2.1 (set by /home/kongxx/.pyenv/version)

$ pyenv versions
 system
 2.7.10
* 3.2.1 (set by /home/kongxx/.pyenv/version)

使用 pyenv 管理 virtualenv

创建一个 virtualenv 环境

这里使用 python 3.2.1 来创建一个 virtualenv 环境

$ pyenv virtualenv 3.2.1 myenv

$ pyenv versions
 system
 2.7.10
* 3.2.1 (set by /home/kongxx/.pyenv/version)
 3.2.1/envs/myenv
 myenv

激活当前需要使用的 virtualenv

$ pyenv activate myenv

$ pyenv versions
 system
 2.7.10
 3.2.1
 3.2.1/envs/myenv
* myenv (set by PYENV_VERSION environment variable)

去除当前需要使用的 virtualenv

$ pyenv deactivate

删除当前需要使用的 virtualenv

$ pyenv virtualenv-delete myenv

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python列表append和+的区别浅析
Feb 02 Python
Python获取单个程序CPU使用情况趋势图
Mar 10 Python
Python正则表达式匹配HTML页面编码
Apr 08 Python
Python实现提取文章摘要的方法
Apr 21 Python
Python简单实现TCP包发送十六进制数据的方法
Apr 16 Python
Python的地形三维可视化Matplotlib和gdal使用实例
Dec 09 Python
Python及Django框架生成二维码的方法分析
Jan 31 Python
Sanic框架请求与响应实例分析
Jul 16 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
Dec 22 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
Aug 06 Python
Python decorator拦截器代码实例解析
Apr 04 Python
python numpy矩阵信息说明,shape,size,dtype
May 22 Python
python3使用pyqt5制作一个超简单浏览器的实例
Oct 19 #Python
PyQt5利用QPainter绘制各种图形的实例
Oct 19 #Python
python连接数据库的方法
Oct 19 #Python
Python3使用PyQt5制作简单的画板/手写板实例
Oct 19 #Python
python里使用正则的findall函数的实例详解
Oct 19 #Python
详解python里使用正则表达式的全匹配功能
Oct 19 #Python
python中logging库的使用总结
Oct 18 #Python
You might like
php 动态添加记录
2009/03/10 PHP
PHP中的float类型使用说明
2010/07/27 PHP
php中flush()、ob_flush()、ob_end_flush()的区别介绍
2013/02/17 PHP
php动态生成函数示例
2014/03/21 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
2013/12/16 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
基于BootStrap Metronic开发框架经验小结【六】对话框及提示框的处理和优化
2016/05/12 Javascript
BootstrapTable+KnockoutJS自定义T4模板快速生成增删改查页面
2016/08/01 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
在Vue中创建可重用的 Transition的方法
2020/06/02 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
[01:10]DOTA2英雄背景故事第四期之混沌法则混沌骑士
2020/07/16 DOTA
跟老齐学Python之编写类之二方法
2014/10/11 Python
Python第三方库的安装方法总结
2016/06/06 Python
Python闭包的两个注意事项(推荐)
2017/03/20 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
用pycharm开发django项目示例代码
2019/06/13 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
2019/08/22 Python
python 实现屏幕录制示例
2019/12/23 Python
使用pytorch实现可视化中间层的结果
2019/12/30 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
个人自我评价范文
2014/02/05 职场文书
聘任书模板
2014/03/29 职场文书
村党支部书记个人对照材料汇报
2014/10/26 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
教务处干事工作总结
2015/08/14 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫
Python中 range | np.arange | np.linspace三者的区别
2022/03/22 Python