软件简介:
pyenv 是一款特别好用的Python版本管理器,可以在同一台电脑上不同的目录里分别运行不同版本的Python, 并且互不影响,安装的包也互不影响。github项目地址:https://github.com/yyuu/pyenv
pyenv-virtualenv 是pyenv的一个plugin,可以用来创建基于不同Python版本的干净的虚拟环境。github项目地址:https://github.com/yyuu/pyenv-virtualenv
安装:
1、安装brew
我们brew命令来安装pyenv和pyenv-virtualenv ,所以先确保mac os上有brew命令。brew命令类似于RHEL的yum和ubuntu的apt-get命令,是用来给mac os安装软件包的工具。
如果你的mac os上没有安装brew可以参考下面的命令来安装:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homerew/install/master/install)"
2、安装zlib
$ brew install zlib
把zlib链接到库
brew link zlib --force
3、安装pyenv
安装好brew后,就可以用brew来安装pyenv的最新版本了,而且会自动下载依赖包:
$ brew install pyenv #brew安装pyenv
按照安装完后,根据Caveats的提示,要添加环境变量到~/.bash_profile文件里(如果没有需要新建,OS X默认是没有这个文件的):
export PYENV_ROOT=/usr/local/var/pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
4、安装pyenv-virtualenv
$ brew install pyenv-virtualenv
按照安装完后Caveats的提示,要添加环境变量到~/.bash_profile文件里:
if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi
需要使环境变量生效,需要执行source ~/.bash_profile
卸载:
如果想要卸载 pyenv,执行
brew uninstall pyenv
然后删除之前填在~/.bash_profile文件里那两行。
pyenv使用指南
1、pyenv versions查看系统的上安装的Python版本。
$ pyenv versions
*system (set by /Users/yulongjun/.pyenv/version)
*表示当前工作目录正在使用的是什么版本,其中的system表示系统自带的 Python 版本。
2、安装其他python版本
pyenv install 安装其他版本的Python。
$ pyenv versions #可以看到2个版本
* system (set by /usr/local/var/pyenv/version)
3.6.3
通过pyenv安装的版本都会放到/usr/local/var/pyenv/versions/目录下。
3、pyenv local 切换python版本
举个例子就明白了:
$ mkdir python36
$ cd python36/
$ pyenv local 3.6.3 #使当前工作目录使用python3.6.3版本
$ python -V #查看一下当前目录用python的版本,确实是3.6.3
Python 3.6.3
$ pip -V #查看一下pip版本,是3.6.3的pip
pip 9.0.1 from /usr/local/var/pyenv/versions/3.6.3/lib/python3.6/site-packages (python 3.6)
其他版本的工作目录创建方法类似(如果是用系统自带版本,用pyenv local system即可)
4、使用pyenv-virtualenv创建虚拟环境
pyenv-virtualenv是用来创建一个干净的虚拟Python环境的命令,通常在创建干净的新项目时候使用。使用方法如下:
$ pyenv virtualenv 3.6.3 venv-3.6.3-dashboard # 创建一个基于3.6.3版本的虚拟环境venv-3.6.3-dashboard
$ ls /usr/local/var/pyenv/versions/ # 目录下将创建一个venv-3.6.3-dashboard的虚拟环境
3.6.3 venv-3.6.3-dashboard
其实这里的venv-3.6.3-dashboard是/usr/local/var/pyenv/versions/3.6.3/envs/venv-3.6.3-dashboard的一个软连接。
5、创建项目,让项目使用干净的Python3.6.3的某个虚拟环境
举个例子,在任何地方创建你自己的工程目录,进入你的工程目后,指定虚拟环境:
C02S56M4G8WN:work chunming.liu$ mkdir myproject #创建工程目录
C02S56M4G8WN:work chunming.liu$ cd myproject/ #进入工程目录
C02S56M4G8WN:myproject chunming.liu$ pyenv local venv-3.6.3-dashboard #切换成你想用的虚拟环境
(venv-3.6.3-dashboard) C02S56M4G8WN:myproject chunming.liu$ cd .. ##退出工程目录
C02S56M4G8WN:work chunming.liu$ cd myproject #进入工程目录
(venv-3.6.3-dashboard) C02S56M4G8WN:myproject chunming.liu$
上面代码段中(venv-3.6.3-dashboard) 部分表示当前处于venv-3.6.3-dashboard虚拟环境中。当退出工程目录后,也就退出了虚拟环境。再次进入工程目录,又自动激活了虚拟环境(命令行前面有(venv-3.6.3-dashboard)),这就是前面我们在~/.bash_profile添加的环境变量的作用,当我们进入和离开工程目录时,就自动激活和关闭改工程所用的虚拟环境。
6、列出目前的所有虚拟环境
$ pyenv virtualenvs
3.6.3/envs/venv-3.6.3-dashboard (created from /usr/local/var/pyenv/versions/3.6.3)
venv-3.6.3-dashboard (created from /usr/local/var/pyenv/versions/3.6.3)
7、删除虚拟环境
pyenv uninstall my-virtual-env
参考文献:
https://blog.csdn.net/liuchunming033/article/details/78345286