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

2022-09-09 13:58:59

软件简介:

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链接到库

brewlinkzlib--force

3、安装pyenv
安装好brew后,就可以用brew来安装pyenv的最新版本了,而且会自动下载依赖包:

$brew install pyenv#brew安装pyenv

按照安装完后,根据Caveats的提示,要添加环境变量到~/.bash_profile文件里(如果没有需要新建,OS X默认是没有这个文件的):

export PYENV_ROOT=/usr/local/var/pyenvif which pyenv > /dev/null;theneval"$(pyenv init -)";fi

4、安装pyenv-virtualenv

$brew install pyenv-virtualenv

按照安装完后Caveats的提示,要添加环境变量到~/.bash_profile文件里:

if which pyenv-virtualenv-init > /dev/null;theneval"$(pyenv virtualenv-init -)";fi

需要使环境变量生效,需要执行source ~/.bash_profile

卸载:
如果想要卸载 pyenv,执行

brew uninstall pyenv

然后删除之前填在~/.bash_profile文件里那两行。

pyenv使用指南

1、pyenv versions查看系统的上安装的Python版本。

$ pyenv versions
*system (setby /Users/yulongjun/.pyenv/version)

*表示当前工作目录正在使用的是什么版本,其中的system表示系统自带的 Python 版本。
2、安装其他python版本
pyenv install 安装其他版本的Python。

$ pyenv versions#可以看到2个版本
*system (setby /usr/local/var/pyenv/version)3.6.3

通过pyenv安装的版本都会放到/usr/local/var/pyenv/versions/目录下。
3、pyenv local 切换python版本
举个例子就明白了:

$mkdir python36$cd python36/$pyenv local3.6.3#使当前工作目录使用python3.6.3版本$python -V#查看一下当前目录用python的版本,确实是3.6.3Python3.6.3$pip -V#查看一下pip版本,是3.6.3的pip
pip9.0.1 from /usr/local/var/pyenv/versions/3.6.3/lib/python3.6/site-packages (python3.6)

其他版本的工作目录创建方法类似(如果是用系统自带版本,用pyenv local system即可)

4、使用pyenv-virtualenv创建虚拟环境
pyenv-virtualenv是用来创建一个干净的虚拟Python环境的命令,通常在创建干净的新项目时候使用。使用方法如下:

$pyenv virtualenv3.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 virtualenvs3.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
  • 作者:liuchunming033
  • 原文链接:https://liuchunming.blog.csdn.net/article/details/78345286
    更新时间:2022-09-09 13:58:59