pyenv安装python虚拟环境【mac】

默认已安装pyenv,没有安装的参考:https://testerhome.com/topics/34625

pyenv介绍

pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源。
为什么我们需要pyenv呢

Python解释器版本混乱, 2和3差别巨大, 而且细分版本也不尽相同, 难以选择和管理.
不同Linux发行版自带Python不同, 如ubuntu16自带2.7和3.5版本, 其中系统许多组件依赖于自带解释器, 一旦删除或者更改都可能会造成系统出问题.
不同的Python解释器软件包管理也是问题, 如pip和ipython等必备包组件, 而且在项目开发中如何保证不同的包环境互不干扰也是一个问题.

安装python多版本

pyenv install -l	
# 列出可安装的版本,会输出很多
# 等价于 pyenv install --list

pyenv install 3.6.9 -vvv	
# -vvv是打印详细信息,也可不加

pyenv install 3.7.7

安装成功后,运行 pyenv versions 命令可以查看你安装的python,如下图中我安装的3.6.3
在这里插入图片描述

你安装的python版本位于 /usr/local/var/pyenv/versions/ 目录下。

之后你可以用global来切换你的全局python版本。

什么是virtualenv

在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。

如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果应用A需要jinja 2.7,而应用B需要jinja 2.6怎么办?

不同的项目,每个项目都有不同的扩展类库,这些类库都统一安装在相应版本的python环境,会让他们感到很不舒服。他们更希望每个项目的环境都是独立的,纯粹的,干净的。

这种情况下,每个应用可能需要各自拥有一套“独立”的Python运行环境。virtualenv就是用来为一个应用创建一套“隔离”的Python运行环境。

virtualenv用来创建独立的Python虚拟环境,可以将每个项目与其他项目独立开来,互不影响,解决了依赖包版本冲突的问题。

virtualenv 的优点

使得不同Python应用的开发环境相互独立
开发环境升级不影响其他应用的开发环境,也不会影响全局的环境(默认开发环境是全局开发环境),因为虚拟环境是将全局环境进行私有的复制,当我在虚拟环境进行 pip install 时,只会安装到选择的虚拟环境中。
它可以防止系统中出现包管理混乱和版本的冲突

virtualenv(虚拟环境)的安装

pyenv-virtualenv是pyenv的一个plugin,可以用来创建基于不同Python版本的虚拟环境。

安装pyenv-virtualenv

brew install pyenv-virtualenv

设置虚拟环境

由于不同项目,或使用不同Python版本,或使用同版本Python但使用不同版本库,很难将它们部署在一
起,所以,应该使用不同的虚拟环境隔离部署。
使用pyenv local 命令建立一个目录和一个Python版本或虚拟版本之间的关系,该目录的子孙目录默认
也继承这个版本。

设置一个python3.6.9的虚拟环境,

在这里插入图片描述
在这里插入图片描述

创建虚拟环境 语法为: pyenv virtualenv 版本号 虚拟环境名,比如创建3.6.15版本的虚拟环境

pyenv virtualenv 3.6.15 env3615

3.6.15:你之前安装的python的某个版本。
env3615:你的虚拟环境的名称。

安装后运行 pyenv versions 后可以看到你安装的虚拟环境,如下图:

在这里插入图片描述
env3615即为我刚刚创建的虚拟环境。
3.6.15/envs/env3.6.15为一个你的虚拟环境和3.6.15之间的一个软链接。

激活你的虚拟环境:pyenv activate env363
关闭你的虚拟环境:pyenv deactivate
删除你的虚拟环境:pyenv uninstall env363

在这里插入图片描述

  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值