详解使用 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网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
python中验证码连通域分割的方法详解
Jun 04 Python
Python列表解析配合if else的方法
Jun 23 Python
Python给图像添加噪声具体操作
Mar 03 Python
Python+PyQT5的子线程更新UI界面的实例
Jun 14 Python
python绘制评估优化算法性能的测试函数
Jun 25 Python
详解Python3定时器任务代码
Sep 23 Python
解决Python中回文数和质数的问题
Nov 24 Python
Python工程师必考的6个经典面试题
Jun 28 Python
详解pytorch tensor和ndarray转换相关总结
Sep 03 Python
python 装饰器的实际作用有哪些
Sep 07 Python
python3处理word文档实例分析
Dec 01 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数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
2011/05/24 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
php实现统计邮件大小的方法
2013/08/06 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
php解决DOM乱码的方法示例代码
2016/11/20 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
js比较和逻辑运算符的介绍
2013/03/10 Javascript
JavaScript中string对象
2015/06/12 Javascript
asp.net中oracle 存储过程(图文)
2015/08/12 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
2016/10/26 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
AngularJS 中ui-view传参的实例详解
2017/08/25 Javascript
详解基于DllPlugin和DllReferencePlugin的webpack构建优化
2018/06/28 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
JavaScript实现鼠标经过表格某行时此行变色
2020/11/20 Javascript
Python splitlines使用技巧
2008/09/06 Python
使用Python编写提取日志中的中文的脚本的方法
2015/04/30 Python
浅谈python中的正则表达式(re模块)
2017/10/17 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
Python基础知识点 初识Python.md
2019/05/14 Python
Flask框架学习笔记之消息提示与异常处理操作详解
2019/08/15 Python
关于keras中keras.layers.merge的用法说明
2020/05/23 Python
应届毕业生自我鉴定范文
2013/12/27 职场文书
宗教学大学生职业生涯规划范文
2014/02/08 职场文书
大学生个人求职信
2014/06/02 职场文书
测绘工程专业求职信
2014/07/15 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript
PostgreSQL事务回卷实战案例详析
2022/03/25 PostgreSQL
vue使用watch监听属性变化
2022/04/30 Vue.js
Java多线程并发FutureTask使用详解
2022/06/28 Java/Android