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 虚拟环境目的是在于隔离,隔离第三方包。 因为每个项目可能依赖相同的第三方包,但是版本不同因此需要隔离。