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 调用DLL操作抄表机
Jan 12 Python
关于你不想知道的所有Python3 unicode特性
Nov 28 Python
Python可变参数函数用法实例
Jul 07 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
Jun 23 Python
python psutil库安装教程
Mar 19 Python
python opencv人脸检测提取及保存方法
Aug 03 Python
PyQt5通信机制 信号与槽详解
Aug 07 Python
PyCharm 2019.3发布增加了新功能一览
Dec 08 Python
Python selenium自动化测试模型图解
Apr 15 Python
使用 django orm 写 exists 条件过滤实例
May 20 Python
pytorch使用horovod多gpu训练的实现
Sep 09 Python
利用Pycharm连接服务器的全过程记录
Jul 01 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
main.php
2006/12/09 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
PHP attributes()函数讲解
2019/02/03 PHP
javascript String 对象
2008/04/25 Javascript
JS 非图片动态loading效果实现代码
2010/04/09 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
javascript中的深复制详解及实例分析
2016/12/29 Javascript
Nodejs高扩展性的模板引擎 functmpl简介
2017/02/13 NodeJs
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
JavaScript使用类似break机制中断forEach循环的方法
2018/11/13 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
[41:08]2014 DOTA2国际邀请赛中国区预选赛 HGT VS NE
2014/05/22 DOTA
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
python读写LMDB文件的方法
2018/07/02 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
python高斯分布概率密度函数的使用详解
2019/07/10 Python
python序列化与数据持久化实例详解
2019/12/20 Python
python时间与Unix时间戳相互转换方法详解
2020/02/13 Python
pandas dataframe 中的explode函数用法详解
2020/05/18 Python
CSS3 icon font完全指南(CSS3 font 会取代icon图标)
2013/01/06 HTML / CSS
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
2014世界杯球队球队口号
2014/06/05 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
给老婆的道歉信
2015/01/20 职场文书
放射科岗位职责
2015/02/14 职场文书
python常见的占位符总结及用法
2021/07/02 Python
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL