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 相关文章推荐
最大K个数问题的Python版解法总结
Jun 16 Python
举例讲解Python面向对象编程中类的继承
Jun 17 Python
pyqt远程批量执行Linux命令程序的方法
Feb 14 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
Jul 11 Python
深入了解Django中间件及其方法
Jul 26 Python
python内打印变量之%和f的实例
Feb 19 Python
Django ORM filter() 的运用详解
May 14 Python
让Django的BooleanField支持字符串形式的输入方式
May 20 Python
python交互模式基础知识点学习
Jun 18 Python
Python3爬虫中识别图形验证码的实例讲解
Jul 30 Python
python+flask编写一个简单的登录接口
Nov 13 Python
python中doctest库实例用法
Dec 31 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执行速度全攻略(下)
2006/10/09 PHP
php array_intersect()函数使用代码
2009/01/14 PHP
劣质的PHP代码简化
2010/02/08 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
php 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
PHP版微信小店接口开发实例
2016/11/12 PHP
PHP设计模式之装饰器模式定义与用法简单示例
2018/08/13 PHP
Ucren Virtual Desktop V2.0
2006/11/07 Javascript
JavaScript 应用类库代码
2008/06/02 Javascript
jQuery TextBox自动完成条
2009/07/22 Javascript
JS 去除Array中的null值示例代码
2013/11/20 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
详解基于javascript实现的苹果系统底部菜单
2016/12/02 Javascript
利用JS判断鼠标移入元素的方向
2016/12/11 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
Node.js中的http请求客户端示例(request client)
2017/05/04 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
JS 实现缓存算法的示例(FIFO/LRU)
2018/03/20 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
python使用socket远程连接错误处理方法
2015/04/29 Python
基于Python的关键字监控及告警
2017/07/06 Python
Python读取word文本操作详解
2018/01/22 Python
Python ORM编程基础示例
2020/02/02 Python
python 解决Fatal error in launcher:错误问题
2020/05/21 Python
python通过函数名调用函数的几种场景
2020/09/23 Python
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
Gucci法国官方网站:意大利奢侈品牌
2018/07/25 全球购物
药品促销活动方案
2014/02/14 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
Django使用redis配置缓存的方法
2021/06/01 Redis