Pyenv + virtualenv构建多版本python虚拟环境

Posted 时间捡拾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pyenv + virtualenv构建多版本python虚拟环境相关的知识,希望对你有一定的参考价值。


推荐阅读官网:https://amaral.northwestern.edu/resources/guides/pyenv-tutorial


1. 安装pyenv

1.1 一键自动化安装:

命令行运行一行命令:

curl -L
https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer
| bash


1.2 手动:

git clone https://github.com/pyenv/pyenv.git ~/.pyenv


然后在~/.bashrc (根据OS版本不同,有些系统可能是~/.bash_profile)末尾加上一段:

# pyenv
export PATH="/home/leon/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"



2 使用pyenv

检查pyenv

$ pyenv --version
$ pyenv install 2.7.14 # 安装某个python 2.7.14版本
$ pyenv versions # 查看已有的版本列表
$ pyenv global #查看当前默认的python环境

#2.7.14python环境设为命令行最优先环境,需要rehash
$ pyenv global 2.7.14
$ pyenv rehash


3.使用插件pyenv-virtualenv创建更多虚拟环境

pyenv添加插件:

pyenv安装目录一般在~/.pyenv,插件:~/.pyenv/plugins/

所以:

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
$ pyenv virtualenv 2.7.14 newenv  # 基于python版本2.7.14创建虚拟环境newenv
$ pyenv activate newenv       # 激活虚拟环境newenv
$ pyenv deactivate # 退出虚拟环境



pyenv 实现python环境的切换,实际上通过添加shims修改PATH环境变量,拦截命令实现的,切换环境时,可以通过$ which python查看具体执行程序。

当命令行执行$ python时,它会先查看当前所在的目录是否有文件.python-version,如果有会使用该版本。如果没有,会去~/.pyenv/version文件查看版本。

$ touch .python-version  && echo 3.6.0 > .python-version
$ python -V  #查看当前目录运行python时会使用的版本



以上是关于Pyenv + virtualenv构建多版本python虚拟环境的主要内容,如果未能解决你的问题,请参考以下文章

MAC下使用pyenv+virtualenv 控制环境版本

使用 pyenv + virtualenv 打造多版本Python开发环境

基于pyenv和virtualenv搭建python多版本虚拟环境

mac pyenv+virtualenv 多python共存

python多版本和虚拟环境(pyenv+conda or virtualenv)

用pyenv和virtualenv搭建单机多版本python虚拟开发环境