详解使用 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求解平方根的方法
Mar 11 Python
python3.5仿微软计算器程序
Mar 30 Python
Python读写zip压缩文件的方法
Aug 29 Python
python实现flappy bird小游戏
Dec 24 Python
Python中的元组介绍
Jan 28 Python
对python 通过ssh访问数据库的实例详解
Feb 19 Python
使用python和pygame制作挡板弹球游戏
Dec 03 Python
tensorflow使用range_input_producer多线程读取数据实例
Jan 20 Python
pandas dataframe 中的explode函数用法详解
May 18 Python
python zip()函数的使用示例
Sep 23 Python
pygame面向对象的飞行小鸟实现(Flappy bird)
Apr 01 Python
Pytorch 如何加速Dataloader提升数据读取速度
May 28 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
Smarty3配置及入门语法
2017/02/22 PHP
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
js超时调用setTimeout和间歇调用setInterval实例分析
2015/01/28 Javascript
js限制文本框只能输入中文的方法
2015/08/11 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
一个简单的node.js界面实现方法
2018/06/01 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
详解一个小实例理解js原型和继承
2019/04/24 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
Node.js之删除文件夹(含递归删除)代码实例
2019/09/09 Javascript
Vue-CLI与Vuex使用方法实例分析
2020/01/06 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
[59:08]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第一局
2016/02/27 DOTA
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
Python语言的面相对象编程方式初步学习
2016/03/12 Python
python 对象和json互相转换方法
2018/03/22 Python
python Django的web开发实例(入门)
2019/07/31 Python
Python如何调用JS文件中的函数
2019/08/16 Python
python中的selenium安装的步骤(浏览器自动化测试框架)
2020/03/17 Python
使用python tkinter开发一个爬取B站直播弹幕工具的实现代码
2021/02/07 Python
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
Book Depository亚太地区:一家领先的国际图书零售商
2019/05/05 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
教师求职推荐信范文
2013/11/20 职场文书
安全生产计划书
2014/05/04 职场文书
公司会议策划方案
2014/05/17 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
会议主持词通用版
2019/04/02 职场文书
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python
python垃圾回收机制原理分析
2022/04/13 Python
多线程Spring通过@Scheduled实现定时任务
2022/05/25 Java/Android