【一图看懂 pyenv venv virtualenv 】

一直用的conda配置,今天试了下pyenv。最近喜欢图像化表达,所以用一张图来帮助理解。

需要理清python版本管理与环境管理的区别,venv是python内置工具。

版本管理指:python3.8/python3.9

环境管理值:(python3.8 + torch1.2)/(python3.8+torch1.1+opencv4.0)

一图读懂述

pipenv、pyenvvenvvirtualenv都是用于Python环境管理的工具,但它们各有特点: ### 功能特性 - **venv**:是Python 3.3及以上版本内置的库,无需额外安装。它和virtualenv功能类似,不过无法创建与系统Python解释器版本不同的虚拟环境,更为简单和轻量。它是python3自带的命令行工具,可通过运行 `python3 -m venv` 启动,但在某些发行版中,如Ubuntu,需要安装 `python3-venv`。另外,它不需要单独copy python可执行文件到相应目录。如果不需要支持python2,可直接使用venv,但目前Python社区更偏向于使用virtualenv [^4][^5]。 - **virtualenv**:可以创建隔离的Python环境,功能较为丰富,能创建与系统Python解释器版本不同的虚拟环境,在Python社区使用较为广泛 [^2][^4]。 - **pyenv**:用于管理Python版本,可方便地在不同Python版本之间切换。pyenv - virtualenvpyenv的插件,由pyenv的同作者编写,允许方便地同时使用pyenvvirtualenv。若使用Python 3.3或更高版本,pyenv - virtualenv将尝试运行 `python -m venv`(如果可用),而不是virtualenv。也可以起使用virtualenvpyenv而不使用pyenv - virtualenv [^1]。 - **pipenv**:是个与Python包管理器pip结合的工具,它不仅可以创建虚拟环境,还能自动管理项目的依赖关系,生成 `Pipfile` 和 `Pipfile.lock` 文件来锁定依赖版本,解决了传统pip + requirements.txt在依赖管理上的些问题 [^2]。 ### 安装方式 - **venv**:Python 3.3及以上版本内置,部分发行版需额外安装,如Ubuntu安装 `python3-venv` [^4][^5]。 - **virtualenv**:通常使用pip进行安装,命令为 `pip install virtualenv`。 - **pyenv**:安装方式相对复杂,可通过脚本或包管理器安装,安装后还需进行环境配置。 - **pipenv**:使用pip安装,命令为 `pip install pipenv`。 ### 使用场景 - **venv**:适合简单的项目,对环境隔离要求不高,且不需要支持Python 2的情况 [^5]。 - **virtualenv**:适用于需要创建不同Python版本虚拟环境,对虚拟环境功能要求较全的项目 [^4]。 - **pyenv**:当项目需要在不同Python版本间频繁切换时,pyenv是很好的选择 [^1]。 - **pipenv**:对于需要精确管理项目依赖,确保项目在不同环境中依赖致性的项目非常适用 [^2]。 ### 代码示例 #### venv 创建虚拟环境 ```python python3 -m venv myenv source myenv/bin/activate # Linux/Mac myenv\Scripts\activate # Windows ``` #### virtualenv 创建虚拟环境 ```python pip install virtualenv virtualenv myenv source myenv/bin/activate # Linux/Mac myenv\Scripts\activate # Windows ``` #### pyenv 安装和切换Python版本 ```bash # 安装Python 3.8.10 pyenv install 3.8.10 # 设置全局Python版本 pyenv global 3.8.10 ``` #### pipenv 创建虚拟环境和管理依赖 ```bash # 创建虚拟环境并安装Flask pipenv install flask # 进入虚拟环境 pipenv shell ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉木渡香

感谢鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值