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之正规地说一句话
Sep 28 Python
详解Python中DOM方法的动态性
Apr 11 Python
Python编写生成验证码的脚本的教程
May 04 Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 Python
python数据类型_字符串常用操作(详解)
May 30 Python
使用python读取csv文件快速插入数据库的实例
Jun 21 Python
Python发送邮件功能示例【使用QQ邮箱】
Dec 04 Python
在python中画正态分布图像的实例
Jul 08 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
Oct 10 Python
基于MSELoss()与CrossEntropyLoss()的区别详解
Jan 02 Python
python math模块的基本使用教程
Jan 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遍历数组的方法汇总分析
2013/06/08 PHP
浅析javascript闭包 实例分析
2010/12/25 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
AngularJS使用ng-repeat遍历二维数组元素的方法详解
2017/11/11 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
2018/06/28 Javascript
基于Vue插入视频的2种方法小结
2019/04/02 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
requests和lxml实现爬虫的方法
2017/06/11 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
django将数组传递给前台模板的方法
2019/08/06 Python
python虚拟环境完美部署教程
2019/08/06 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
python简单实现插入排序实例代码
2020/12/16 Python
去加拿大的旅行和假期:Canadian Affair
2016/10/25 全球购物
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
优秀经理获奖感言
2014/03/04 职场文书
测绘工程专业求职信
2014/07/15 职场文书
学习十八大宣传标语
2014/10/09 职场文书
保送生自荐信
2015/03/06 职场文书
银行催款通知书
2015/04/17 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
Python3的进程和线程你了解吗
2022/03/16 Python
Golang 并发编程 SingleFlight模式
2022/04/26 Golang