怎样将python更新为最新版本(如何随意切换Python版本)
怎样将python更新为最新版本(如何随意切换Python版本)
2024-11-05 07:23:35  作者:相思醉啦  网址:https://m.xinb2b.cn/life/amg337999.html

大家好,我是小姜不知道大家在日常开发工作中是否遇到过这样一个情况:,我来为大家科普一下关于怎样将python更新为最新版本?以下内容希望对你有帮助!


怎样将python更新为最新版本

大家好,我是小姜。

前言

不知道大家在日常开发工作中是否遇到过这样一个情况:

项目A用的是Python 2.7版本开发的(可能由于历史遗留问题没有升级更新版本)

项目B是用python 3.10.4版本开发的,假设使用了requests==2.25.1版本

项目C是用Python 3.10.4版本开发的,假设使用了requests==2.27.1版本

首先第一个问题:Python版本的问题,Python 2.x 和Python 3.x 版本区别还是比较大的,版本多了不易管理。

其次第二个问题:也许requests的版本在项目B和项目C中并不会造成什么影响。但是在某些其他项目中使用了同一个包的不同版本可能会造成巨大的影响。那么此时就需要进行版本的区分,那么同一个Python版本要使用两种版本的包,显然这种场景下包管理是一个问题,在日常项目开发过程中保证不同的包环境互不干扰是很有必要,也是一个基本需求。那么最好的方式就是两个虚拟环境。

那么有没有一个最终的能解决管理不同版本的解释器的同时也能够提供一种功能来控制不同的包版本呢?当然是有的,它就是pyenv。

一、什么是pyenv?

pyenv是一个forked自ruby社区的Python环境管理工具,能够轻松的切换全局的Python解释器版本,并且他可以结合virtualenv方便的管理包。安装pyenv以后,他会在你的$PATH中增加环境变量,如下:

❯ echo $PATH/Users/allenjol/.pyenv/plugins/pyenv-virtualenv/shims:/Users/allenjol/.pyenv/shims:/usr/local/bin:/usr/local/sbin

所以,pyenv其实是控制了你的PATH环境变量来做到Python的版本切换的。它通过对PATH路径开头插入一个shims的路径来对Python实现版本的控制。

二、pyenv、virtualenv、pipenv的关系和区别

前面说了pyenv是控制Python版本的,virtualenv是比较成熟的Python的虚拟环境管理工具,而pipenv是requrests包的作者Kenneth Reitz写的一个用来作为Python的包管理的工具,它同样可以实现生成虚拟环境。本文暂不讨论这个工具,后面一篇文章会介绍它。

pyenv侧重点在Python解释器版本的管理上,你可以随意的切换你的Python版本,并且不需要指定具体的虚拟环境目录。

三、虚拟环境pyenvCentOS7下安装pyenv

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

MacOS下安装pyenv

brew updatebrew install pyenv

如果你MacOS下因为网络原因无法很好的使用brew有两种解决办法:

更换源

参考https://sre.ayunw.cn/posts/terminal_configure_proxy_with_clash/这篇文章的方式进行代理设置

设置环境变量

# bash下设置环境变量echo 'export PYENV_root="$HOME/.pyenv"' >> ~/.bashrcecho 'command -v pyenv >/dev/ || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrcecho 'eval "$(pyenv init -)"' >> ~/.bashrcsource ~/.bashrc# zsh下设置环境变量(我是iterm2 zsh)echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrcecho 'command -v pyenv >/dev/ || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrcecho 'eval "$(pyenv init -)"' >> ~/.zshrcsource ~/.zshrc

查看pyenv版本

pyenv --version

四、命令行使用方法

# 查看当前版本pyenv version# 查看所有版本pyenv versions# 查看有哪些版本可供安装pyenv install --list# 安装python 3.10.4版本pyenv install 3.10.4# 安装一个版本后rehash一下,让pyenv知道管理的Python版本信息pyenv rehash# 卸载pyenv uninstall 3.10.4# 查看所有版本❯ pyenv versionssystem* 3.10.4 (set by /Users/allenjol/.pyenv/version)# 切换全局的Python版本,表示切换为系统的Python版本pyenv global system# 表示切换为pyenv的3.10.4版本pyenv global 3.10.4

五、包管理插件pyenv-virtualenv安装pyenv-virtualenvLinux下安装

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv# 配置环境变量echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profilesource ~/.bash_profile

MacOS下安装

git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv# MacOS的zshecho 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrcexec "$SHELL"# 方法二brew install pyenv-virtualenvecho 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrcexec "$SHELL"

使用pyenv-virtualenv

# 创建venv环境pyenv virtualenv venv3.10.4# 激活venvpyenv activate venv3.10.4pyenv version# 退出venv环境pyenv deactivate venv3.10.4# 删除虚拟环境pyenv uninstall venv3.10.4

当你切换了Python虚拟环境的时候,你的pip和你虚拟环境中的包都切换到你的目标环境中去了。和原先的环境没有任何关系。因此这样它得到了很好的python解释器环境和包的版本隔离。

公众号:运维开发故事

github:https://github.com/orgs/sunsharing-note/dashboard

爱生活,爱运维

关注我,不定期维护优质内容

温馨提示

如果你喜欢本文,请朋友圈,想要获得更多信息,请关注我。

........................

  • 全力应对寒潮降雪(好冷防低温防雨雪)
  • 2024-11-06好冷防低温防雨雪农历新年之前最后一个星期来了!一同到来的是今冬以来最冷的一段时间天气预报显示27日夜间~28日白天武汉天气将由雨夹雪转大到暴雪极端最低气温出现在30日或31日早晨大部可达-6~-3℃有冰冻出现长江日报。
  • 虎皮兰怎么养容易更茂盛(春季养虎皮兰的正确方法)
  • 2024-11-06春季养虎皮兰的正确方法到了春天,您的虎皮兰现在开始生长了吗?如果您的虎皮兰长势弱叶片瘦,到了春天一定要掌握好正确的方法,养护得当了才能够让您的虎皮兰长满新芽,老叶肥厚硬挺,今天就来给大家说一下三点1,搬动位置我们冬天的时候。
  • 福建第一个有机茶基地(台二代福建深山种茶)
  • 2024-11-06台二代福建深山种茶(中国减贫故事)“台二代”福建深山种茶“扶贫茶园”风景独好中新社福建长汀10月28日电题:“台二代”福建深山种茶“扶贫茶园”风景独好中新社记者闫旭张金川龚雯“来了,就对了”谈及来长汀种茶的这十年,“8。
  • 王志文叛逆者48集全集解说(叛逆者纸质书有声书)
  • 2024-11-06叛逆者纸质书有声书中国青年报客户端讯(中青报·中青网记者蒋肖斌)作家畀愚的小说《叛逆者》近日由人民文学出版社出版小说已改编为电视剧,青年演员朱一龙饰演男主角林楠笙,戏骨王志文饰演重要人物顾先生小说以军统“叛逆者”、中共。
  • 干细胞抗衰老为何这么受青睐(干细胞除了抗衰老)
  • 2024-11-06干细胞除了抗衰老球球一句话播报:斯坦福大学研究人员发现,诱导多能干细胞(iPSCs)可以作为癌症疫苗,接种动物后预防肿瘤形成研究重点:-经过辐射后iPSCs(诱导多能干细胞)可以防止乳腺癌,肺癌及皮肤黑色素瘤在小鼠模。
  • 捷达vs5最新款手动挡最低配(捷达VS5低配手动版)
  • 2024-11-06捷达VS5低配手动版众所周知,如今手动挡的车型已经越来越少了,市面上的大部分车型要么全系标配自动挡,要么最低配的手动版本也很难买到诚然,相对于手动挡车型来说,自动挡的车开着确实比较简单,只要一只脚控制好油门和刹车就行,不。
  • 开车久了为什么坐车就晕车(为什么坐车的人容易感到晕车)
  • 2024-11-06为什么坐车的人容易感到晕车随着我国改革开放发展,经济也蒸蒸日上,已成为世界强国,汽车早已经是如今相当普遍的交通工具,家家户户户基本都有,但是汽车分为很多种类,包括轿车、跑车、运输车、公交车等等,每一种的规模以及用途都不同,但在。
  • 陈晓旭的气质最为出众(没有书卷气质就别演才女)
  • 2024-11-06没有书卷气质就别演才女在如今美女如云的娱乐圈,五官精致的女演员虽然越来越多,但有古装气质的女演员反而越来越少比如杨颖和古力娜扎,单独看颜值确实倾国倾城,但就是毫无古典气质,演古装非常出戏而演古装剧能演出书卷气质的女演员,如。
  • 上海话里浪怎么说(四川话百科此浪)
  • 2024-11-06四川话百科此浪要点get“浪”,就是很、十分、非常跟我读浪【làng】词释义“浪”,意思是那么,常用在形容词前面,表示程度深,同“很”“非常”造个句1.他唱歌唱得浪好,最后居然没入围,简直太可惜了2.你对我浪凶抓子。
  • 初入职场该注意什么(给初入职场的你一些建议)
  • 2024-11-06给初入职场的你一些建议转眼又是一年毕业季,新一轮的秋招也即将开始,又有一大批小伙伴将离开校园踏进职场,成为一名真正的“社会人”我希望能借此机会跟大家分享,我在职场一年,由于没有彻底摆脱学生时代的思维定式而走的一些弯路01观。