1、介绍

在日常Python开发工作中,公司因为服务器数量有限,给开发人员分配的服务器往往只有一台,因每个人做的项目中使用的python版本习惯可能会不同,这就衍生了python版本控制工具,一般情况下我们linux系统自带的python版本不会去修改(一旦被修改,系统中依赖该软件的组件会无法正常运行),这就衍生了一款python的版本控制工具pyenv。

2、安装

2.1、先安装依赖包

yuminstallreadlinereadline-develreadline-static-yyuminstallopensslopenssl-developenssl-static-yyuminstallsqlite-devel-yyuminstallbzip2-develbzip2-libs-yyuminstallgityum-yinstallpatchgccmake

此次使用普通用户安装

[durunyu@test42~]$curl-Lhttps://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer|bash

2.2、完成后按照提示进行配置环境变量操作

[durunyu@test42~]$vim~/.bash_profile

##start添加以下内容

exportPATH="/home/lirou/.pyenv/bin:$PATH"eval"$(pyenvinit-)"eval"$(pyenvvirtualenv-init-)"

##end

[durunyu@test42~]$source.bash_profile[durunyu@test42~]$pyenvversionsystem(setby/home/durunyu/.pyenv/version)[durunyu@test42~]$pyenvversions*system(setby/home/durunyu/.pyenv/version)

2.3、安装或卸载python任意版本时最好更新一下数据库

[durunyu@test42~]$pyenvrehash

查看可以安装的python版本库

[durunyu@test42~]$pyenvinstall--list

安装 python 3.5.3(自动下载软件包到/tmp下-->自动进行编译安装)

[durunyu@test42~]$pyenvinstall3.5.3[durunyu@test42~]$pyenvversions*system(setby/home/durunyu/.pyenv/version)3.5.3

3、使用

3.1、创建虚拟环境py353

[durunyu@test42~]$pyenvvirtualenv3.5.3py353Requirementalreadysatisfied:setuptoolsin/home/durunyu/.pyenv/versions/3.5.3/envs/py353/lib/python3.5/site-packagesRequirementalreadysatisfied:pipin/home/durunyu/.pyenv/versions/3.5.3/envs/py353/lib/python3.5/site-packages

py353目录(项目)下所有新建目录带有的Python版本均为3.5.3

[durunyu@test42~]$mkdirpy353[durunyu@test42~]$cdpy353/[durunyu@test42py353]$pyenvlocalpy353(py353)[durunyu@test42py353]$

查看当前目录的虚拟环境版本

(py353)[durunyu@test42py353]$cat.python-versionpy353

直接在此目录下进行项目的开发和软件的安装用到的python均是3.5.3版本,另外此目录下的子目录均继承父目录的python版本属性

3.2、卸载python 3.5.3

[durunyu@test42~]$pyenvuninstall3.5.3

默认安装在 .pyenv/versions目录下

查看已安装的python版本

[durunyu@test42~]$pyenvversions*system(setby/home/durunyu/.pyenv/version)3.5.33.5.3/envs/py353py353

4、其他

python的环境由pyenv的global(当前系统)、local(当前目录)和shell三个等级进行管理。

优先级由大到小为:global > local > shell

当前目录中的 .python-version 配置高于global的 ~/.pyenv/version 配置,global慎用。

卸载pyenv:

[durunyu@test42~]$pyenvuninstall