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 07 Python
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
Feb 24 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
Dec 12 Python
解决python ogr shp字段写入中文乱码的问题
Dec 31 Python
Python3 导入上级目录中的模块实例
Feb 16 Python
详解Python Qt的窗体开发的基本操作
Jul 14 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
tensorflow如何批量读取图片
Aug 29 Python
Python模块_PyLibTiff读取tif文件的实例
Jan 13 Python
500行python代码实现飞机大战
Apr 24 Python
简单了解Python多态与属性运行原理
Jun 15 Python
通过实例解析python创建进程常用方法
Jun 19 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
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
JavaScript中几个重要的属性(this、constructor、prototype)介绍
2013/05/19 Javascript
父节点获取子节点的字符串示例代码
2014/02/26 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
深入探寻seajs的模块化与加载方式
2015/04/14 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
js老生常谈之this,constructor ,prototype全面解析
2016/04/05 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
jquery html5 视频播放控制代码
2016/11/06 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
node中的session的具体使用
2018/09/14 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
typescript配置alias的详细步骤
2020/08/12 Javascript
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
Python访问MySQL封装的常用类实例
2014/11/11 Python
在Python中用has_key()方法查找键是否存在的教程
2015/05/21 Python
老生常谈Python之装饰器、迭代器和生成器
2017/07/26 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
Django使用中间键实现csrf认证详解
2019/07/22 Python
Python实现名片管理系统
2020/02/14 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
PyTorch安装与基本使用详解
2020/08/31 Python
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
HR喜欢的自荐信格式
2013/10/08 职场文书
医院竞聘演讲稿
2014/05/16 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
2014年综治维稳工作总结
2014/11/17 职场文书
个人先进事迹材料
2014/12/29 职场文书
关于上班时间调整的通知
2015/04/23 职场文书
详解JavaScript中Arguments对象用途
2021/08/30 Javascript
JavaScript实现两个数组的交集
2022/03/25 Javascript