一、简介
1、在操作系统mac10.10(yosemite)中搭建Python多版本虚拟环境;
2、多版本虚拟环境包含三个含义:
- 在一个操作系统中安装多个版本的Python,不同版本可以随意切换,例如Python2.5、Python2.7、Python3.0、Python3.6共存于mac10.10;
- 工作中,常常需要用到Python的不同模块,如paramiko、telnetlib、smtp等,会将这些模块安装到C:Program FilesPython35Lib目录下,这些模块安装和运行的环境被称为Python环境。对于同一个Python版本,如Python2.7,可以搭建多个Python环境,不同环境之间的Python模块没有影响。
- 不同Python版本、不同python环境可以同时运行。例如,同一时刻,不同shell运行不同Python版本或环境,不同应用程序运行不同Python版本或者环境。
二、用到的工具
pyenv:用于实现不同Python版本共存。
pyenv-virtualenv:用于实现不同Python环境共存。
三、搭建过程
安装pyenv后,重启shell。
$ brew update $ brew install pyenv $ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
使用pyenv
$ pyenv install 2.7.13 $ pyenv install 3.6.0
注意:直接使用上面命令安装,可能会非常慢或者安装失败,这时可以pyenv安装本地的Python安装包。参考这篇文章。
安装pyenv-virtualenv
说明:virtualenv是一个独立于pyenv的项目,pyenv的作者将virtualenv做成了一个pyenv的插件,利于我们使用。
$ brew install pyenv-virtualenv $ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile $ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
使用pyenv-virtualenv
$ pyenv virtualenv 2.7.13 env_2.7.13 $ pyenv virtualenv 3.6.0 env_3.6.0 $ pyenv virtualenv 3.6.0 env_3.6.0_2 $ pyenv virtualenv 2.7.13 env_2.7.13_2
四、常用命令
pyenv local 2.7.6 在当前目录生成.python-version文件,该目录的应用程序都将使用指定的python版本运行。
pyenv global 2.7.6
在全局范围设置Python版本。
pyenv shell pypy-2.2.1 为shell设置Python版本。用于不同shell不同Python版本。
pyenv install --list 列出所有可以用于安装的Python版本
pyenv install 2.7.6
安装某个python版本
pyenv uninstall
卸载某个Python版本
pyenv rehash
用于更新shims文件,当安装了新的Python版本后需要运行。
pyenv version
显示当前使用的Python版本
pyenv versions
显示已经安装的Python版本
pyenv which python3.3 显示Python版本的安装路径
pyenv whence 2to3
显示已经安装的某个范围的Python版本
详细命令介绍见这里 https://github.com/yyuu/pyenv/blob/master/COMMANDS.md
pyenv virtualenv 2.7.13 env_2.7.13_2 为Python版本2.7.10安装一个新的Python环境,名字为my-virtual-env-2.7.10
pyenv activate env_2.7.13_2 激活一个Python环境
pyenv virtualenvs 展示全部的Python环境
详细命令介绍见这里 https://github.com/yyuu/pyenv-virtualenv