您的位置:首页 > 编程语言 > Python开发

理解pyenv virtualenv对python版本控制的机理

2017-01-24 00:00 681 查看
摘要: 介绍pyenv virtualenv的控制机制及实现方法。

主要控制机理:

pyenv通过在当前shell路径$PATH进行控制实现版本及开发环境控制,在路径前面插入垫片路径(shims)(指向具体的python版本及开发项目环境),这样系统会优先调用指定的版本及开发项目环境。

添加删除版本,开发项目环境,安装包改动都要运行 "pyenv rehash”,更新垫片路径(shims)到shell系统路径。

Linux下pyenv及pyenv virtualenv的实现python版本控制有两种方式:

1. 某个目录下的python版本控制(细粒度):

创建2.7.9版本:在该目录下运行: "pyenv local 2.7.9"

查看当前目录的python版本:“pyenv version”

*标识对应的版本就是当前目录的版本

查看系统存在的python版本:“pyenv versions”

恢复该目录到默认系统版本:“pyenv local system”

删除系统python版本: “pyenv uninstall 2.7.9”

2. 项目开发环境的版本控制(包级别)(粗粒度):

创建 2.7.9 版本的开发环境 env1:任意目录运行:”pyenv virtualenv 2.7.9 site279“

系统会在~/.pyevn/versions/ 2.7.9/envs/ 目录下创建开发环境(目录)site279 然后建立一个软连接 ~/.pyevn/versions/site279 指向~/.pyevn/versions/ 2.7.9/envs/site279

查看开发环境1: ”pyenv versions“ 可以看到多了两个版本

2.7.9/envs/site279和site279 这两个版本其实对应同一个开发环境site279

查看开发环境2: ”pyenv virtualenvs" 查看真正的开发环境版本

激活开发环境(关键一步)系统都处于该开发环境:“pyenv activate site279"

shell命令行#前面会添加(site279)标识,表明系统python环境状态

在任意目录查到python版本都是2.7.9,而不是系统原先的python版本 system

在激活环境下安装的包都会安装到对应开发环境版本目录下的lib中。

退出开发环境: ”pyenv deactivate“

删除开发环境: ”pyenv uninstall site279"

以上以python版本2.7.9作为控制演示,使用者根据自己的版本做对应调整即可。

转载请注明出处!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息