Mac OS 上用pyenv和pyenv-virtualenv管理多个Python多版本及虚拟环境

软件简介:

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
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值