详解使用 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中实现定制类的特殊方法总结
Sep 28 Python
python使用chardet判断字符串编码的方法
Mar 13 Python
Python for Informatics 第11章之正则表达式(二)
Apr 21 Python
python实现逻辑回归的方法示例
May 02 Python
Python自动化开发学习之三级菜单制作
Jul 14 Python
scrapy spider的几种爬取方式实例代码
Jan 25 Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
用python处理图片之打开\显示\保存图像的方法
May 04 Python
python中如何使用分步式进程计算详解
Mar 22 Python
使用Python正则表达式操作文本数据的方法
May 14 Python
利用Python实现Excel的文件间的数据匹配功能
Jun 16 Python
在 Python 中使用 MQTT的方法
Aug 18 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
西德产收音机
2021/03/01 无线电
PHP 面向对象 final类与final方法
2010/05/05 PHP
Windows 下的 PHP-PEAR 安装方法
2010/11/20 PHP
php实现数组筛选奇数和偶数示例
2014/04/11 PHP
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
WordPress中"无法将上传的文件移动至"错误的解决方法
2015/07/01 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
php批量删除操作(数据访问)
2017/05/23 PHP
php实现网页端验证码功能
2017/07/11 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
使一个函数作为另外一个函数的参数来运行的javascript代码
2007/08/13 Javascript
jquery 得到当前页面高度和宽度的两个函数
2010/02/21 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
JavaScript的MVVM库Vue.js入门学习笔记
2016/05/03 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
vue上传图片组件编写代码
2017/07/26 Javascript
JS路由跳转的简单实现代码
2017/09/21 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
vue组件中iview的modal组件爬坑问题之modal的显示与否应该是使用v-show
2019/04/12 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
2019/06/10 Javascript
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
python3 Scrapy爬虫框架ip代理配置的方法
2020/01/17 Python
Python排序函数的使用方法详解
2020/12/11 Python
全球地下的服装和态度:Slam Jam
2018/02/04 全球购物
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
Everlast官网:拳击、综合格斗和健身相关的体育用品
2020/08/03 全球购物
ajax是什么及其工作原理
2012/02/08 面试题
行政助理的职责
2013/11/14 职场文书
2014年师德师风自我剖析材料
2014/09/27 职场文书
会计岗位工作总结
2015/08/12 职场文书
git stash(储藏)的用法总结
2022/06/25 Servers