怎样将python更新为最新版本(如何随意切换Python版本)
怎样将python更新为最新版本(如何随意切换Python版本)
2024-11-22 07:50:08  作者:相思醉啦  网址:https://m.xinb2b.cn/tech/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

爱生活,爱运维

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

温馨提示

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

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

  • 3920数字含义(盐城人最熟悉的数字)
  • 2024-11-22盐城人最熟悉的数字不用说,大家都知道,盐城区号0515,这是为啥呢?电话区号是基本按70年代末行政区划排列的,按先地区后省辖市的顺序,从南京往东再往北,先苏南后苏北,0511镇江地区、0512苏州地区和苏州市、0513。
  • 韩国人评分最高的外语电影,票友推荐这些韩网上评价最高的犯罪电影
  • 2024-11-22韩国人评分最高的外语电影,票友推荐这些韩网上评价最高的犯罪电影电影票友|电影推荐在韩国电影中,犯罪电影有不少出色的作品让不少人改变对韩国电影看法小编借此为大家整理了韩国电影网站统计的韩国动作片中9部评分最高的影片1《大叔》又翻译做《孤胆特工》,获得了韩国大钟奖、。
  • 周星驰个人爱情故事(周星驰和前女友的爱情烂账)
  • 2024-11-22周星驰和前女友的爱情烂账当年被死忠粉于文凤追昏了头的周星驰,大概不会想到,多年后会被这个对自己痴情一片的女子“追讨7000万投资分成”搞得颜面全无于文凤和周星驰相恋13载,这么长时间的恋情虽没领结婚证,实际跟已婚夫妻一样,两。
  • 手机能用的优盘(手机优盘使用感受)
  • 2024-11-22手机优盘使用感受前些天,一位平时喜欢唱歌跳舞的阿姨,让我给考个视频,考完她拿优盘就插手机上看我就跟阿姨咨询,才知道有个东西叫手机优盘然后就去淘宝上查,发现世界之大,无奇不有手机优盘针对不同的手机接口,也有三个接口,有。
  • 海王的母亲多高(海王的母亲竟然已经51岁)
  • 2024-11-22海王的母亲竟然已经51岁近日,影片《海王》在国内热映,从演员到剧情都引起了观众的热议影片中在开头便登场的亚特兰娜女王惊艳众人,其扮演者妮可基德曼大气优雅的气质和超帅的动作戏令人印象深刻,完全看不出已经51岁!妮可·基德曼,美。
  • 后羿射日简短概括50字(后羿射日的神话故事)
  • 2024-11-22后羿射日的神话故事传说古时候,天空曾有十个太阳,他们都是东方天帝的儿子这十个太阳跟他们的母亲、天帝的妻子共同住在东海边上她经常把十个孩子放在世界最东边的东海洗澡洗完澡后,让他们像小鸟那样栖息在一棵大树上因为每个太阳的形。
  • 半藏森林穿搭什么风格 靠卖日系风走红
  • 2024-11-22半藏森林穿搭什么风格 靠卖日系风走红随着媒体形式的不断更新,依靠这些网络媒体被人熟知的网红,赚取了不少的红利这就导致有越来越多的人想博出位,不惜整容成韩式半永久的下巴和欧式大双眼皮的模版美女然而林小宅日系少女风在一众网红脸中独树一帜,非。
  • 教师节感谢信(教师节感谢信内容)
  • 2024-11-22教师节感谢信内容亲爱的老师:又是金菊傲霜的季节,又是李熟飘香的秋天,教师节来临之际,请允许代理商支援部代表公司向辛勤工作着的培训担当致以最诚挚的问候和最美好的祝愿!“师者,传道授业解惑也”几千年来为师者在人们的心目中。
  • 将夜2女主角排名(五位女主口碑如何)
  • 2024-11-22五位女主口碑如何《将夜2》五位女主角谁最受好评?桑桑与山山演技好评,杨超越颜值好评文/听歌打娱《将夜2》开播后,不知道大家有没有一种在看《庆余年》的感觉,这两部剧都是大制作,演员阵容也相当豪华王鹤棣代替陈飞宇出演“宁。
  • 十大主流狙击步枪(十大狙击步枪之一的R93高精度步枪)
  • 2024-11-22十大狙击步枪之一的R93高精度步枪  与普通的步枪相比,狙击步枪以其较高的射击精度以及较远的射击距离两个突出特点优于普通步枪,继而被人们称为是“一枪夺命”的武器狙击步枪也因为技术含量较高而使其成为21世纪轻兵器中的“精确制导”单兵武器。
  • 老鼠喜欢吃什么诱饵(老鼠喜欢吃的诱饵介绍)
  • 2024-11-22老鼠喜欢吃的诱饵介绍坚果:坚果绝对是老鼠的最爱,因它们喜欢磨牙,而恰好坚果壳又很硬此外,坚果的味道也是它们喜欢的肉类:老鼠也算半个肉食动物,它们也喜欢吃肉水果:水果散发着甜甜的香味,是很好的诱饵苹果,梨子之类的普通水果即。
  • 再见爱人章贺郭柯宇和好了吗(再见爱人章贺郭柯宇最终抉择)
  • 2024-11-22再见爱人章贺郭柯宇最终抉择追了这么多期的《再见爱人》终于告一段落,看到最后,又是感动,又是遗憾,为能够再次重逢而感动,为不能在一起而遗憾最牵动人心的是,章贺和郭柯宇的结局,其他两对的结局大概也料到了,朱雅琼铁了心地要离开,王秋。