Macos配置Python多版本(Pyenv)以及虚拟环境(Pyenv-Virtualenv)

#MACOS #PYTHON #PYENV 2019年05月05日 261

在最开始学习Python的时候,老师教我们的虚拟环境是通过virtualenv来实现的,用着用着就发现一个问题,那就是多版本的Python如何解决呢?

后来工作之后得知有pyenv这个东西,就去了解了一下,然后就开始使用,别说,用着还挺爽,到现在也一直在使用。

Pyenv允许你轻松地在多个Python版本之间切换

简单的说就是通过pyenv,你可以在自己的机器上面共存多个Python版本,例如3.7、3.6、3.5、2.7、2.6等都可以,而且官方还提供了一个Pyenv-Virtualenv,功能和virtualenv完全一样,在同一个Python版本中创建隔离的虚拟环境。

安装

我平常使用的都是Macos,这里的安装教程我就只放Macos上面如何安装了,其他系统的安装教程完全可以参照官方文档进行操作。

  • 依赖包

这些依赖包是在编译Python版本的时候需要使用到的,所以一定要提前安装

$ brew install openssl readline sqlite3 xz zlib

运行Mojave或更高版本(10.14+)时,您还需要安装其他SDK标头

$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
  • 安装

我这里使用Homebrew进行安装,因为简单,不需要进行一些配置,而且后续的升级卸载什么的也很方便

$ brew install pyenv pyenv-virtualenv

如果你使用了zsh,你可能需要找到plugins的配置,然后将pyenv加入其中,如果不添加这项配置,在执行命令的时候会提示找不到pyenv指令,语法提示等也没有

$ vim ~/.zshrc
plugins=(
pyenv
...
)

然后source让其生效

$ source ~/.zshrc
  • 升级
$ brew upgrade pyenv pyenv-virtualenv
  • 卸载
$ brew uninstall pyenv pyenv-virtualenv

使用

  • 查看可以安装的Python版本
$ pyenv install --list
  • 安装Python版本
$ pyenv install 3.7.3
  • 卸载Python版本
$ pyenv uninstall 3.7.3
  • 列出已经安装的Python版本
$ pyenv versions
  • 创建虚拟环境

3.7.3是Python的版本号,ansheng是虚拟环境的名称

$ pyenv virtualenv 3.7.3 ansheng
  • 切换虚拟环境
$ pyenv activate ansheng
(ansheng) $ python -V
Python 3.7.3
(ansheng) $ pip -V
pip 19.0.3 from /Users/shengan/.pyenv/versions/3.7.3/envs/ansheng/lib/python3.7/site-packages/pip (python 3.7)
  • 退出虚拟环境
(ansheng) $ pyenv deactivate
$
  • 删除虚拟环境
$ pyenv virtualenv-delete ansheng
Top