赞!优雅的Python多环境管理神器!易上手易操作!

Pyenv的安装和使用 Pyenv是一个简单的Python版本管理工具。通过Pyenv可以安装多个版本的Python,并且可以在多个版本之间轻松切换。 阅读详情
AI摘要

本文介绍了轻量级的Python版本管理工具pyenv,其功能包括安装、版本切换、虚拟环境管理,对比了与Anaconda和pipenv/virtualenv的区别,特别适合MacOS和Linux用户。,

前言

Python 的不同版本之间常常存在依赖关系和兼容性问题,为了方便开发人员在 不同项目中使用不同的版本 。

如果大家使用过Python版本管理工具,肯定大多数人使用的都是Anaconda,它是一个优秀的数据科学开发环境,本身也提供了丰富的Python工具集合和常用的科学计算与数据分析库。但Anaconda体积比较庞大,也携带有图形化界面,它不算一个轻量级的Python版本管理工具。

所以 pyenv 这一简单而强大的 Python 版本管理工具应运而生。这个工具小编已经用了两年多了,感觉使用体验上都还不错,故本文将介绍 pyenv 的基本概念、安装方法以及使用和注意事项,帮助开发者更好地管理 Python 版本。

一、pyenv 简介

pyenv 是一款轻量级的 Python 版本管理工具,可以在同一台机器上同时安装多个 Python 版本,并且可以根据应用程序或项目的需求进行快速切换。它的主要功能包括版本的安装、卸载、切换和全局默认版本的设置。

提示:pyenv不大适合Windows系统使用,但也可以安装使用;主要适用于MacOS、Linux等unix系统

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

pyenv和主流的pipenv、virtualenv的关系

pipenv 是 requests 作者 Kenneth Reitz大神写的一个python虚拟环境管理工具, 结合了pip和virtualenv的功能, 侧重点还是在包环境管理上, 使用思路是先创建一个指定python版本的环境, 然后在此环境上安装相应的包, 好评不错, 看到很多大牛都在推荐。

virtualenv 是一个比较传统成熟的虚拟环境管理工具了, 用的人也比较多, 思路也是创建虚拟环境, 然后安装相应的包, 要进入环境就source一下activate脚本激活一下, 尽管成熟, 但也经常由于各种原因在项目部署时老是容易出现一些环境问题。

二、pyenv 安装

pyenv 的主流安装方式有两种,一是按照官方提供的方法下载安装,二是通过行业大佬们写好的一键安装脚本安装。

1、官方Git方式安装

对于MacOS用户,可以使用Homebrew来直接安装pyenv:

brew update   brew install pyenv

当然也可以使用第一种 git 下载pyenv

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

除此之前还需要下载pyenv虚拟环境包管理工具pyenv-virtualenv:

$ git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

然后我们在Mac或Linux系统shell环境变量配置文件中配置,配置如下(.zshrc/.bashrc):

export PYENV_ROOR="$HOME/.pyenv"   export PATH=$PYENV_ROOT/shims:$PATH   eval "$(pyenv init -)"   eval "$(pyenv virtualenv-init -)"

最后,在配置文件前执行source 命令, 使其生效。

输入pyenv --version测试一下,出现如下画面即为安装成功!

2、三方一键安装

可以使用大佬们封装好的一键安装脚本进行安装:

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

安装过程可能会有提示,根据提示安装即可。

3、pyenv 卸载

pyenv 卸载方式很简单,直接删除pyenv目录即可。

rm -rf ~/.pyenv

同时需要将配置文件(.zshrc或.bashrc)中pyenv相关的删除掉:

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

三、pyenv 环境管理

1、解释器版本安装与切换

查询当前可安装的版本:

pyenv install --list

输出:

安装指定版本(安装完成后需要pyenv rehash):

pyenv install 3.8.12

不过我不喜欢这种安装方式,每次切换还需要输入版本号,很麻烦,而且谁没事记版本号,后面项目多了,环境多了,同版本又怎么区分。这时候就用到我们pyenv的虚拟环境包管理进行安装,他就多了一个虚拟环境名称,跟Anaconda一样。

pyenv virtualenv 3.10.7 chatgpt_env

查询已安装的Python版本:

 pyenv versions

输出:

指定全局版本,当然也可以指定多个全局版本,前面的优先

pyenv global normal_work     pyenv global normal_work chatgpt_env`

指定shell版本,意思是在哪个目录下执行设置的版本,下次进入该目录会自动切换到该Python版本,多项目操作时,不要再手动切换了

pyenv shell normal_work

删除指定版本

pyenv uninstall normal_work

只查看已安装的虚拟环境列表

pyenv virtualenvs

激活虚拟环境

pyenv activate normal_work

退出虚拟环境

pyenv deactivate

四、pyenv安装Anaconda

pyenv其实内部集成了Anaconda的软件包,在上面可安装列表中也可以看到有anaconda的版本可供下载安装。而且还有很多的版本,miniconda的也有。

使用pyenv创建anaconda的虚拟环境

pyenv virtualenv miniconda-3.0.5  conda_demo_env

我们进入conda的虚拟环境

pyenv activate conda_demo_env

之后可以直接使用conda命令来管理该环境

conda install xxx

五、总结

1、pyenv极大程度的利用了环境变量工具,通过在环境变量前面插入新路径来实现python解释器版本管理和虚拟环境管理。

2、pyenv相比其他工具,更加侧重在 python 解释器版本管理上, 比包管理更大一个层级, 使用pyenv我们可以方便的下载指定版本的python解释器, pypi, anaconda等, 可以随时自由的在shell环境中本地、全局切换python解释器。

3、开发的时候不需要限定某个版本的虚拟环境, 只需要在部署的时候用pyenv local指定当前项目目录使用某个版本就好了,很方便。

4、pyenv也可以创建好指定的虚拟环境, 但不需要指定具体目录, 自由度更高, 使用也简单。

注意:pyenv 不支持 Windows 系统。Windows 上有一个 pyenv 的替代品,是 pyenv-win 。它用来在多个安装的 Python 版本之间进行切换。

python多环境管理工具——pyenv-win安装与使用教程 什么是pyenv-win: 是一个在windows系统上管理python版本的工具。它是pyenv的windows版本,旨在提供类似于unix/linux系统上的pyenv功能。允许用户在同一台计算机上安装多个python版本,并轻松切换它们之间的环境。使用pyenv-win,可以方便地安装、管理和切换各种python版本,而无需手动更改系统环境变量。pyenv-win应用场景:pyenv-win可以应用于各种领域,但在机器学习方面尤其有用。 阅读详情

相关推荐

Windows环境下安装pyenv

pyenv 是一个用于管理多个 Python 版本的工具。它允许用户在同一系统中安装和切换不同版本的 Python 解释器,以便在不同的项目中使用不同的 Python 版本。这对于开发人员来说非常有用,因为不同的项目可能需要特定版本的 Python,而不同的 Python 版本可能在语法、库和功能方面存在一些差异。使用 pyenv,用户可以轻松地在同一台计算机上安装多个 Python 版本,然后通过简单的命令在项目之间切换所需的版本。

风物长宜放眼量 2050

pyenv的安装与简单使用

pyenv 是 python的 多环境管理工具

weixin_42289080的博客 2万+

Hydra配置管理:让Python应用配置优雅到飞起(实战指南)

需要同时管理20+微服务的配置 → 配置组YYDS!频繁切换开发/测试/生产环境 → 命令行参数一键切换多人协作开发配置 → 结构化配置减少冲突千万不要在没用Hydra的情况下启动新项目!等你配置管理崩了再重构,那酸爽…(别问我是怎么知道的)你会看到Hydra加载配置的全过程,绝对打开新世界的大门!

bestbee888的博客 949

python 版本管理工具 pyenv

什么是pyenv: pyenv是一个forked自ruby社区的简单、低调、遵循UNIX哲学的Python环境管理工具, 它可以轻松切换全局解释器版本, 同时结合vitualenv插件可以方便的管理对应的包源。 为什么使用pyenv: 为了在同一系统环境中使用不同版本的python,在项目开发中保证不同的包环境互不干扰。 安装Pyenv: 1、安装git yum -y install git 2、安装Python编译依赖 yum -y install gcc make...

网子世界 1万+

提高效率的秘诀:用Pyenv管理多个Python环境

Pyenv是一个用于管理多个Python版本的工具。它能够让你在同一台机器上轻松安装、切换和管理不同版本的Python,而不会发生冲突。这对于需要在不同项目中使用不同Python版本的开发者来说,是一个极其便利的工具。

pythondh1的博客 1270

《基于Yolo算法的火灾检测系统设计与实现》开题报告

在消防安全领域,火灾对生命财产安全构成严重威胁。传统的火灾检测手段存在诸多不足,如误报率高、检测范围有限、响应速度慢等。基于 Yolo 算法的火灾检测系统能够利用深度学习技术,实现对火灾的高效、精准检测,具有重要的现实意义。         从社会安全角度看,该系统可以广泛应用于各类公共场所、工业厂房和居民住宅,实时监测火灾隐患,及时发出警报,为人员疏散和消防救援争取宝贵时间,有效降低火灾造成的人员伤亡和财产损失,保障社会公共安全。

m0_69704149的博客 1384

vfox版本管理神器:5分钟搞定多环境配置

还在为不同项目需要不同Node.js、Java、Python版本而烦恼吗?每次切换项目都要手动配置环境变量、重装运行时?vfox作为新一代跨平台版本管理工具,帮你彻底告别环境配置的烦恼,实现一键切换、智能管理。 ## 开篇痛点:多项目环境管理的噩梦 想象一下这样的场景:你正在开发一个老项目,需要Node.js 14.x,但新项目需要Node.js 21.x。传统方式下,你需要: - 手动下载安

gitblog_00109的博客 899

Uniapp-APP后台保活插件(安卓后台保活)

Uniapp-APP后台保活插件(安卓后台保活)亲测有效!

weixin_57844432的博客 1万+

Python-vagrant:这个Python神器99%的开发者都不知道,本文带你解锁开发环境管理的终极武器!

Python-vagrant不仅仅是一个简单的封装工具,它提供了一个完整的环境管理解决方案。它不仅能解决你当前面临的环境管理问题,还能为你的开发工作流程带来革命性的改变。与Python的简洁优雅结合在一起。通过这个库,你可以用极其简单的Python代码来管理开发环境,实现环境的一键部署、优势:通过Python代码统一管理多个环境,避免了手动切换目录和执行命令的繁琐过程,同时提供了更好的错误处理机制。优势:自动化配置同步,确保团队成员使用完全相同的开发环境,大大减少环境不一致导致的问题。

具身机器人和通用AI 673

教你搞懂RT-Thread的移植和配置ENV工具环境

RT-Thread的移植和配置ENV工具环境

Troubadour~的博客 8263

手把手教你用ROS2 Humble给PX4无人机写个“画圆”程序:从C++代码到Gazebo仿真全流程

本文详细介绍了如何使用ROS2 Humble和PX4飞控实现无人机圆形轨迹控制,涵盖从环境配置、Gazebo仿真到C++代码实现的完整流程。通过实战教程,读者将掌握轨迹跟踪仿真的核心技术,包括ROS2与PX4的通信接口、圆形轨迹算法设计及Gazebo仿真调试技巧。

weixin_29056781的博客 257

Python入门:Python3 pip包管理工具全面学习教程

Python入门:Python3 pip包管理工具全面学习教程,本文是 Python3 pip 使用教程,先介绍 pip 作为 Python 包管理工具的核心功能与预装情况,指出 Python 2.7.9 + 及 3.4 + 版本自带 pip,缺失时可参考相关教程安装;接着详解 pip 基础操作,包括用pip --version验证安装、pip install安装(如 numpy)、pip uninstall卸载第三方库,以及pip list查看已安装包;

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 1万+

零基础玩转NILM:用nilmtk提取UKDALE电器数据的保姆级教程

本文为零基础用户提供了一份详细的NILM入门指南,重点讲解如何使用nilmtk工具包从UKDALE数据集中提取电器级用电数据。教程涵盖环境搭建、核心概念解析、数据提取实战及常见问题排查,帮助读者快速掌握非侵入式负荷监测的数据预处理关键步骤。

rgv234567的博客 499

掌握这个 Pytest 插件,轻松切换测试环境!

pytest-env是Pytest生态中一款简单高效的插件,专门解决测试环境切换的痛点。它允许开发者通过环境变量动态配置不同测试环境(如开发、测试、生产),无需修改测试代码。该插件支持三种灵活配置方式:pytest.ini文件定义、命令行参数覆盖、结合python-dotenv加载.env文件。实践案例显示,使用pytest-env后,测试效率显著提升,测试覆盖率可提高20%。特别适合API测试、数据库测试等需要频繁切换环境的场景,让测试环境切换"像换Wi-Fi一样简单"。

朱雀随云记的博客 1326

verilog实现步进电机脉冲分配器(三相六拍)基于Nexys4DDR开发板

使用Verilog HDL设计的一个能够自启动、具有正反转功能的三相六拍步进电机脉冲分配器。已经写好Nexy4DDR的管脚约束文件 可以通过Nexys4DDR开发板的PMOD接口连接步进电机进行调试。 使用verilog语言 在vivado2018.2下运行编译下载都正确,(也可在ISE,QuartusII下使用)下面是工程截图: ...

QQ_778132974的博客 2593

【置顶】TEE从入门到精通-[目录]

此专栏讲解包含不限于optee、商用TEE、常规的安全业务设计。但主要基于optee最新代码,深度讲解和剖析各项原理和机制...

baron-周贺贺-代码改变世界ctw 6427

Python配置管理神器OmegaConf:从YAML到Dataclass的完整实战指南

本文详细介绍了Python配置管理库OmegaConf的完整实战指南。通过对比传统配置工具的不足,深入解析了OmegaConf如何结合YAML文件和Python dataclass实现类型安全、支持变量插值与多环境配置合并的强大功能,并提供了机器学习项目的综合配置系统构建示例,帮助开发者高效管理复杂项目配置。

weixin_29056781的博客 244

VCAST创建单元测试工程

选择工作目录,后面创建胡UT工程将会生成到这个目录。

qq_42851449的博客 2483

探索 `dots`:统一管理您的跨平台dotfiles的神器

探索 dots:统一管理您的跨平台dotfiles的神器 项目简介 在Unix和类Unix桌面世界中,dotfiles是个性化环境的命脉,它们隐藏于.开头的文件中,控制着从bash提示符到窗口管理器的一切。许多开发者热衷于将这些珍贵的自定义配置保存在Git仓库中,并分享给社区。然而,dotfiles的管理和同步一直是项挑战。直到现在,有了dots —— 一款优雅的解决方案,旨在简化dotfiles...

gitblog_00691的博客 343

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

ComfyUI多环境部署指南:独立Workspace与Python版本管理实战

本文提供了一份详细的ComfyUI多环境部署实战指南。通过使用Conda和ComfyUI CLI工具,您可以轻松创建和管理多个独立的工作空间,实现Python版本与依赖库的完全隔离,从而彻底解决自定义节点间的兼容性冲突问题,保障AI图像生成工作流的稳定运行。

weixin_28224217的博客 555

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

3分钟搞定命令行任务管理神器:just如何让你告别繁琐的构建脚本?

还记得上次为了部署一个简单的Web应用,你在终端里敲了多少次命令吗?"npm run build"、"docker compose up"、"git push"、"ssh deploy"...每个项目都有一堆需要记忆的命令,而且每个同事的"快捷方式"还不一样!😅 这就像你的工具箱里堆满了各种工具,但每次要用的时候都得翻箱倒柜找半天。更糟糕的是,当你换一台电脑或者新同事加入项目时,他们需要重新学

gitblog_00618的博客 320

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Gomatic:配置GoCD的自动化神器

Gomatic:配置GoCD的自动化神器 在追求CI/CD高效流程的时代,自动化工具的出现极大地简化了持续集成和部署的复杂度。Gomatic,作为一个专为ThoughtWorks的GoCD设计的Python API,无疑成为了其中的一颗璀璨明星。本文将带你深入了解Gomatic,展示其技术魅力,并探讨它如何优化你的软件开发流程。 项目介绍 Gomatic是面向GoCD配置管理的一个强大Python...

gitblog_01065的博客 590

Python配置管理进阶:pydantic-settings实战指南

在现代软件开发中,配置管理是确保应用灵活性和安全性的关键技术。环境变量作为配置的常见载体,传统Python项目通常直接使用os.getenv进行读取,但这种方式存在类型不安全、缺乏验证机制等问题。pydantic-settings基于强大的pydantic库,提供了类型安全的配置管理方案,支持从环境变量自动加载、类型转换、嵌套配置等特性。该方案特别适合需要严格配置验证的电商系统和微服务架构,能够有效解决配置分散、文档缺失等工程痛点。通过集成Docker Secrets和.env文件支持,pydantic-s

weixin_33404102的博客 299

Python词云神器wordcloud安装避坑指南:从报错到完美运行

本文针对Python词云库wordcloud在Windows系统下的常见安装失败问题,提供了清晰的解决方案。核心在于理解因缺少C++编译器导致的报错根源,并详细指导用户如何通过下载与自身Python版本及系统架构匹配的预编译whl文件来一键安装,彻底避开编译环节,实现从报错到完美运行。

work3的博客 444

python代码编辑器在哪里,python代码编辑器有哪些

大家好,小编来为大家解答以下问题,python的代码一般在哪里编辑,python代码编辑器在哪里,今天让我们一起来看看吧!

zjl102562的博客 866

项目推荐:Env - 为人类优化的环境变量管理工具

项目推荐:Env - 为人类优化的环境变量管理工具 在开发过程中,处理环境变量往往是件让人头疼的任务。但今天,我们为您推荐一款开源神器——Env,它旨在让环境变量映射变得既简单又直观,彻底改变你的编码体验。 项目介绍 Env,一个以“Environment Variables for Humans”为设计理念的Python库,极大地简化了环境变量的管理和访问方式。通过减少繁琐的直接os.envir...

gitblog_00932的博客 1142
上一篇: 『GitHub项目圈选02』一款可实现视频自动翻译配音为其他语言的开源项目
下一篇: Python 如何开发出RESTful Web接口,DRF框架助力灵活实现!
孜孜孜孜不倦
博客等级 码龄7年 1803粉丝 277原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

孜孜孜孜不倦

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值