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判断windows系统是32位还是64位的方法
May 11 Python
Java中重定向输出流实现用文件记录程序日志
Jun 12 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
May 08 Python
利用Python代码实现数据可视化的5种方法详解
Mar 25 Python
详解python3中的真值测试
Aug 13 Python
解决新django中的path不能使用正则表达式的问题
Dec 18 Python
详解Python计算机视觉 图像扭曲(仿射扭曲)
Mar 27 Python
python nmap实现端口扫描器教程
May 28 Python
python tkinter之 复选、文本、下拉的实现
Mar 04 Python
pyqt5 QlistView列表显示的实现示例
Mar 24 Python
解决jupyter notebook启动后没有token的坑
Apr 24 Python
解决pytorch读取自制数据集出现过的问题
May 31 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数学运算
2011/12/30 PHP
基于php下载文件的详解
2013/06/02 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
php处理json格式数据经典案例总结
2016/05/19 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
JavaScript的面向对象(二)
2006/11/09 Javascript
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
数据结构中的各种排序方法小结(JS实现)
2016/07/23 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
Angular 4依赖注入学习教程之简介(一)
2017/06/04 Javascript
vue路由前进后退动画效果的实现代码
2018/12/10 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
[02:35]DOTA2英雄基础教程 末日使者
2013/12/04 DOTA
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python 调用DLL操作抄表机
2009/01/12 Python
python发送HTTP请求的方法小结
2015/07/08 Python
Python类的动态修改的实例方法
2017/03/24 Python
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
Python 函数list&read&seek详解
2019/08/28 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
微软俄罗斯官方网站:Microsoft俄罗斯
2016/09/18 全球购物
酒店服务实习自我鉴定
2013/09/22 职场文书
小学生自我鉴定
2013/10/12 职场文书
土木工程应届生求职信
2013/10/31 职场文书
2014教师年度思想工作总结
2014/11/10 职场文书
2015年班组长工作总结
2015/04/10 职场文书
为什么MySQL不建议使用SELECT *
2022/04/03 MySQL