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中os和shutil模块实用方法集锦
May 13 Python
Python实现对字符串的加密解密方法示例
Apr 29 Python
轻量级的Web框架Flask 中模块化应用的实现
Sep 11 Python
使用memory_profiler监测python代码运行时内存消耗方法
Dec 03 Python
详解用Python实现自动化监控远程服务器
May 18 Python
用sqlalchemy构建Django连接池的实例
Aug 29 Python
Python下应用opencv 实现人脸检测功能
Oct 24 Python
Python3打包exe代码2种方法实例解析
Feb 17 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
Feb 20 Python
使用python客户端访问impala的操作方式
Mar 28 Python
python3 简单实现组合设计模式
Jul 02 Python
Python 使用 PyQt5 开发的关机小工具分享
Jul 16 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截取字符串函数分享
2015/02/02 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
PHP定时任务获取微信access_token的方法
2016/10/10 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
php使用环形链表解决约瑟夫问题完整示例
2018/08/07 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
Yii框架小部件(Widgets)用法实例详解
2020/05/15 PHP
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
利用CSS、JavaScript及Ajax实现高效的图片预加载
2013/10/16 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
JSON字符串转JSON对象
2015/07/31 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
js实现简单的秒表
2020/01/16 Javascript
如何在 Vue 中使用 JSX
2021/02/14 Vue.js
[01:25]DOTA2超级联赛专访iG 将调整状态找回自己
2013/06/05 DOTA
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python中的引用和拷贝浅析
2014/11/22 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
python如何调用java类
2020/07/05 Python
详解Django中views数据查询使用locals()函数进行优化
2020/08/24 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
路由表示做什么用的?在linux环境中怎么来配置一条默认路由?
2013/06/07 面试题
试用期转正鉴定评语
2014/01/27 职场文书
高校十八大报告感想
2014/01/27 职场文书
勤俭节约倡议书
2014/04/14 职场文书
整改落实自查报告
2014/11/05 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
婚姻出轨保证书
2015/05/08 职场文书