详解使用 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编写一个每天都在系统下新建一个文件夹的脚本
May 04 Python
Django中传递参数到URLconf的视图函数中的方法
Jul 18 Python
python实现爬虫统计学校BBS男女比例之多线程爬虫(二)
Dec 31 Python
Python自定义主从分布式架构实例分析
Sep 19 Python
django+echart绘制曲线图的方法示例
Nov 26 Python
详解Appium+Python之生成html测试报告
Jan 04 Python
python 动态生成变量名以及动态获取变量的变量名方法
Jan 20 Python
Python tkinter三种布局实例详解
Jan 06 Python
python matplotlib imshow热图坐标替换/映射实例
Mar 14 Python
Java Spring项目国际化(i18n)详细方法与实例
Mar 20 Python
Python中bisect的用法及示例详解
Jul 20 Python
Python 生成短8位唯一id实战教程
Jan 13 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实现链结人气统计
2006/10/09 PHP
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
10个实用的PHP代码片段
2011/09/02 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
swoole锁的机制代码实例讲解
2021/03/04 PHP
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
JS事件添加和移出的兼容写法示例
2016/06/20 Javascript
基于vue2.0实现的级联选择器
2017/06/09 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
vue组件name的作用小结
2018/05/23 Javascript
vue中使用element-ui进行表单验证的实例代码
2018/06/22 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
浅谈JS和jQuery的区别
2019/03/27 jQuery
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
python list语法学习(带例子)
2013/11/01 Python
简单实现python进度条脚本
2017/12/18 Python
python编写Logistic逻辑回归
2020/12/30 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
python中线程和进程有何区别
2020/06/17 Python
SpringBoot首页设置解析(推荐)
2021/02/11 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
荷兰在线啤酒店:Beerwulf
2019/08/26 全球购物
销售人员自我评价
2014/02/01 职场文书
体操比赛口号
2014/06/10 职场文书
民主评议政风行风整改方案
2014/09/17 职场文书
教师党员群众路线教育实践活动心得体会
2014/11/04 职场文书
培训感想范文
2015/08/07 职场文书
Nginx反向代理配置的全过程记录
2021/06/22 Servers
SQL中的三种去重方法小结
2021/11/01 SQL Server