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入门篇之文件
Oct 20 Python
Linux环境下MySQL-python安装过程分享
Feb 02 Python
在Python中操作列表之List.pop()方法的使用
May 21 Python
在Python中使用AOP实现Redis缓存示例
Jul 11 Python
python机器学习理论与实战(六)支持向量机
Jan 19 Python
使用python的pandas库读取csv文件保存至mysql数据库
Aug 20 Python
python单例模式实例解析
Aug 28 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
python 机器学习之支持向量机非线性回归SVR模型
Jun 26 Python
对Python3之方法的覆盖与super函数详解
Jun 26 Python
Python函数式编程指南:对生成器全面讲解
Nov 19 Python
python飞机大战pygame游戏之敌机出场实现方法详解
Dec 17 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
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
php获取文章内容第一张图片的方法示例
2017/07/03 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
任意位置显示html菜单
2007/02/01 Javascript
JavaScript编程的10个实用小技巧
2014/04/18 Javascript
jquery操作checkbox示例分享
2014/07/21 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
理解JavaScript原型链
2016/10/25 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
Vue实战之vue登录验证的实现代码
2017/10/31 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
2019/08/23 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
JavaScript实现简单日历效果
2020/09/11 Javascript
Vue中引入svg图标的两种方式
2021/01/14 Vue.js
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
python实现远程通过网络邮件控制计算机重启或关机
2018/02/22 Python
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
2018/06/04 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
CSS3制作圆形滚动进度条动画的示例
2020/11/05 HTML / CSS
超级搞笑检讨书
2014/01/15 职场文书
环境科学专业求职信
2014/08/04 职场文书
公司庆典欢迎词
2015/01/26 职场文书
导游欢送词
2015/01/31 职场文书
土建技术员岗位职责
2015/04/11 职场文书
《生物入侵者》教学反思
2016/02/16 职场文书