1. 主页
  2. Python基础到高级
  3. 多环境版本管理

多环境版本管理

Pyenv介绍及安装

开发过程中,可能会用到多个python版本,有的是时候blog需要使用2.7,公司projects需要使用3.6,因此我们需要在不同的python版本之间进行无间隔的转换,今天就来介绍一个python的版本管理工具”pyenv”。

首先进行安装,本次安装时基于Centos7来进行

由于pyenv使依赖于git的,因此我们需要先安装git
yum -y install git
 
然后使用curl来安装pyenv,pyenv其实就是一个shell脚本有兴趣的可以看下
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

国内源
curl -L https://gitee.com/lastle/pyenv-installer/raw/master/bin/pyenv-installer | bash

 
安装完成后会提示配置环境变量
vim ~/.bash_profile
追加下面的内容
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

使用Pyenv安装Python前的准备工作

首先安装编译工具
yum -y install gcc make patch
 
接下来安装依赖关系,如果少安装一个依赖都会导致python安装不上
yum -y install gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel ca-certificates libffi-devel
 
使用pyenv安装python
pyenv install 3.5.2

Pyenv的使用

local的方式是基于目录来管理python版本的

创建一个新的目录如workspace
mkdir workspace
 
在workspace的目录下执行
pyenv local 3.5.2
 
现在这个workspace的目录下的文件以及子目录的python默认环境就是3.5.2的了
退出这个目录后将会返回成系统的默认python版本。

global命令是将整个系统的Python环境都设置为指定的Python版本

pyenv global 3.5.2

如何可以的话**永远不要使用global命令**

因为当使用了global命令的话,就将其项目的python版本也都修改成global设置的版本了,这样就会出现很大的纰漏

若是错误使用了global,则只需要删除version文件即可,但是千万注意,一定不要删除到其他的文件

虚拟环境

有的时候会在多个项目中使用同一个python版本,若是还是使用上面的方法的话,就会出现错误,而且仅仅只是修改了在当前目录下执行Python操作的版本,因此在这里就需要用到Python的虚拟环境。

其实说白了创建一个Python版本的虚拟环境就是copy了一份版本信息。

创建一个虚拟环境
pyenv virtualenv 3.5.2 lanyulei
 
执行pyenv versions查看python版本时候,会返回下面的结果:
* system (set by /root/.pyenv/version)
3.5.2
3.5.2/envs/lanyulei
lanyulei
这个时候我们会发现多了两个python的版本,在这里说明下,那个单独的lanyulei的版本就是为了方便我们的使用,其实lanyulei这个版本可以说是一个别名,链接到3.5.2/envs/lanyulei这个版本的。
 
下面我们就使用lcoal方法使用lanyulei这个别名对应的版本吧
pyenv local lanyulei
 
当我们不用这个虚拟环境了,想删除那么执行下面的命令即可
pyenv uninstall lanyulei
 
虚拟环境目的是在于隔离,隔离第三方包。
因为每个项目可能依赖相同的第三方包,但是版本不同因此需要隔离。

我们要如何帮助您?

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注