pyenv与virtualenv安装实现python多版本多项目管理


Posted in Python onAugust 17, 2019

踩了很多坑,记录一下这次试验,本次测试环境:Linux centos7 64位。

pyenv是一个python版本管理工具,它能够进行全局的python版本切换,也可以为单个项目提供对应的python版本,使用pyenv以后,可以在服务器上安装多个不同的python版本,版本切换方便,能够更好的满足我们的需求。

virtualenv是一个管理不同项目的工具,用以隔离不同项目的工作环境,在同一个python版本实现不同的环境需求。

pyenv与virtualenv配合使用,可以更好的管理我们在Linux系统中python环境。

1,开始prenv的安装:

下载项目到本地

yum install git -y
 git clone https://github.com/pyenv/pyenv.git ~/.pyenv

配置环境变量

echo 'export PATH=~/.pyenv/bin:$PATH' >> ~/.bashrc
 echo 'export PYENV_ROOT=~/.pyenv' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

source 命令重新载入配置文件:

source ~/.bashrc
 #验证pyenv是否正确安装:
 pyenv --help
 
 #查看pyenv支持安装的python版本:
 pyenv install --list

安装一下python的依赖:

yum install gcc -y
 yum install openssl-devel bizp2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel -y

到了这里我们就可以用pyenv 安装不同的python 版本了,这里的3.7.2与2.7.5是要安装的python版本。

这里要是用官方的源地址下载会非常的慢,甚至不动,,我们修改为国内的下载地址,首先去淘宝下载源:  http://npm.taobao.org/mirrors/python   找到自己需要安装的版本

比如我拿了这两个地址:

http://npm.taobao.org/mirrors/python/2.7.5/Python-2.7.5.tar.xz
http://npm.taobao.org/mirrors/python/3.7.2/Python-3.7.2.tar.xz

然后我分别修改这两个文件

~/.pyenv/plugins/python-build/share/python-build/2.7.5

pyenv与virtualenv安装实现python多版本多项目管理

~/.pyenv/plugins/python-build/share/python-build/3.7.2

pyenv与virtualenv安装实现python多版本多项目管理

退出保存,然后执行下面命令下载速度就会非常的快

pyenv install -v 3.7.2
 pyenv install -v 2.7.5

这里有几个pyenv常用命令:

#查看当前安装的python版本
 pyenv versions
 
 #切换选择当前python版本
 pyenv global 3.7.2
 
 #删除python版本
 pyenv uninstall 2.7.2

pyenv安装完成!

2,开始安装 pyenv-virtualenv

下载项目到本地

1 git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
#配置环境变量
 echo 'echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile

 #source 命令重新载入配置文件:
 source ~/.bashrc
 
 #查看是否安装成功
 pyenv help virtualenv

创建python2.7.5版本的虚拟工作环境:project_27_1  和  创建python3.7.2版本的虚拟工作环境:project_37_1

pyenv virtualenv 2.7.5 project_27_1
 pyenv virtualenv 3.7.2 project_37_1
 #查看创建的工作环境
 pyenv virtualenvs

pyenv与virtualenv安装实现python多版本多项目管理

使用实例:

#进入环境project_27_1
 pyenv activate project_27_1
 #在该环境安装0.8版本的flask
 pip install flask==0.8
 #退出当前工作环境
 pyenv deactivate
 
 #删除虚拟环境first_project
 pyenv virtualenv-delete project_27_1

总结

以上所述是小编给大家介绍的pyenv与virtualenv安装实现python多版本多项目管理,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
python使用psutil模块获取系统状态
Aug 27 Python
python difflib模块示例讲解
Sep 13 Python
python使用logging模块发送邮件代码示例
Jan 18 Python
详解tensorflow载入数据的三种方式
Apr 24 Python
python实现flappy bird小游戏
Dec 24 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
Jan 29 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
Jan 30 Python
python 一个figure上显示多个图像的实例
Jul 08 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
Aug 13 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
Python建造者模式案例运行原理解析
Jun 29 Python
TensorFlow的自动求导原理分析
May 26 Python
pytorch 获取层权重,对特定层注入hook, 提取中间层输出的方法
Aug 17 #Python
关于PyTorch源码解读之torchvision.models
Aug 17 #Python
django项目用higcharts统计最近七天文章点击量
Aug 17 #Python
Django对models里的objects的使用详解
Aug 17 #Python
python3.6中@property装饰器的使用方法示例
Aug 17 #Python
对django的User模型和四种扩展/重写方法小结
Aug 17 #Python
python3.6编写的单元测试示例
Aug 17 #Python
You might like
php中的boolean(布尔)类型详解
2013/10/28 PHP
将php数组输出html表格的方法
2014/02/24 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
JavaScript是否可实现多线程  深入理解JavaScript定时机制
2009/12/22 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
2013/06/08 Javascript
浅析JavaScript中的类型和对象
2013/11/29 Javascript
jquery form 隐藏的input 选择
2014/04/29 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
JavaScript实战之菜单特效
2016/08/16 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
详解利用exif.js解决ios手机上传竖拍照片旋转90度问题
2016/11/04 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
js实现数组内数据的上移和下移的实例
2017/11/14 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
python实现数据图表
2017/07/29 Python
python 构造三维全零数组的方法
2018/11/12 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
django使用多个数据库的方法实例
2021/03/04 Python
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
必须要使用游标的SQL语句有那些
2012/05/07 面试题
一份软件工程师的面试试题
2016/02/01 面试题
证婚人搞笑证婚词
2014/01/10 职场文书
副董事长岗位职责
2014/04/02 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
明星邀请函
2015/02/02 职场文书
个人求职信格式范文
2015/03/20 职场文书
三方合作意向书范本
2015/05/09 职场文书
2016中秋节月饼促销广告语
2016/01/28 职场文书
python绘制云雨图raincloud plot
2022/08/05 Python