详解使用 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和perl实现批量对目录下电子书文件重命名的代码分享
Nov 21 Python
Linux下使用python调用top命令获得CPU利用率
Mar 10 Python
python清除字符串里非数字字符的方法
Jul 02 Python
python subprocess 杀掉全部派生的子进程方法
Jan 16 Python
实践Vim配置python开发环境
Jul 02 Python
使用Python AIML搭建聊天机器人的方法示例
Jul 09 Python
python将txt等文件中的数据读为numpy数组的方法
Dec 22 Python
Python批量生成幻影坦克图片实例代码
Jun 04 Python
python输出决策树图形的例子
Aug 09 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
python类共享变量操作
Sep 03 Python
Python SMTP发送电子邮件的示例
Sep 23 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 xml文件操作代码(一)
2009/03/20 PHP
php join函数应用
2011/05/04 PHP
php连接与操作PostgreSQL数据库的方法
2014/12/25 PHP
php动态读取数据清除最右边距的方法
2017/04/12 PHP
使用JQuery进行跨域请求
2010/01/25 Javascript
基于jquery的代码显示区域自动拉长效果
2011/12/07 Javascript
js取消单选按钮选中示例代码
2013/11/14 Javascript
js向上无缝滚动,网站公告效果 具体代码
2013/11/18 Javascript
基于JQuery实现滚动到页面底端时自动加载更多信息
2014/01/31 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
深入探究node之Transform
2017/07/20 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
Node.js系列之发起get/post请求(2)
2019/08/30 Javascript
JS实现拼图游戏
2021/01/29 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
2020/05/10 Javascript
vuex存取值和映射函数使用说明
2020/07/24 Javascript
JS+CSS实现炫酷光感效果
2020/09/05 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
python爬虫爬取网页表格数据
2018/03/07 Python
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
Tensorflow全局设置可见GPU编号操作
2020/06/30 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
MATCHESFASHION.COM美国官网:英国奢侈品零售商
2018/10/29 全球购物
Simons官方网站:加拿大时尚零售商
2020/02/20 全球购物
水电工岗位职责
2014/02/12 职场文书
银行办公室岗位职责
2014/03/10 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
Ajax实现三级联动效果
2021/10/05 Javascript