详解使用 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 02 Python
python文件名和文件路径操作实例
Sep 29 Python
python中获得当前目录和上级目录的实现方法
Oct 12 Python
python基础之包的导入和__init__.py的介绍
Jan 08 Python
PyCharm使用Docker镜像搭建Python开发环境
Dec 26 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
Feb 18 Python
python 成功引入包但无法正常调用的解决
Mar 09 Python
TensorFlow固化模型的实现操作
May 26 Python
Numpy中ndim、shape、dtype、astype的用法详解
Jun 14 Python
Python编写单元测试代码实例
Sep 10 Python
Python操作CSV格式文件的方法大全
Jul 15 Python
Python matplotlib可视化之绘制韦恩图
Feb 24 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日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
php可生成缩略图的文件上传类实例
2014/12/17 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
2015/12/22 PHP
php通过各种函数判断0和空
2020/07/04 PHP
Laravel第三方包报class not found的解决方法
2019/10/13 PHP
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
webpack 4.0.0-beta.0版本新特性介绍
2018/02/10 Javascript
vue之浏览器存储方法封装实例
2018/03/15 Javascript
小程序自定义弹框效果
2020/11/16 Javascript
使用graphics.py实现2048小游戏
2015/03/10 Python
使用pandas对两个dataframe进行join的实例
2018/06/08 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2018/12/15 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
python中调试或排错的五种方法示例
2019/09/12 Python
Python实现图片批量加入水印代码实例
2019/11/30 Python
python3 求约数的实例
2019/12/05 Python
Django正则URL匹配实现流程解析
2020/11/13 Python
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
2016/12/06 HTML / CSS
马来西亚领先的在线礼品店:Giftr
2018/08/23 全球购物
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
西班牙语在线票务市场:SuperBoletería
2019/06/10 全球购物
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
新学期决心书
2014/03/11 职场文书
桥梁工程专业求职信
2014/04/21 职场文书
充分就业社区汇报材料
2014/05/07 职场文书
房产授权委托书范本
2014/09/22 职场文书
邀请书模板
2015/02/02 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
Vite + React从零开始搭建一个开源组件库
2022/06/25 Javascript