- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第
聊聊如何随意切换Python版本
项目A用的是Python2.7版本开发的(可能由于历史遗留问题没有升级更新版本)
项目B是用Python3.10.4版本开发的,假设使用了requests==2.25.1版本
项目C是用Python3.10.4版本开发的,假设使用了requests==2.27.1版本
首先第一个问题:Python版本的问题,Python2.x和Python3.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包的作者KennethReitz写的一个用来作为Python的包管理的工具,它同样可以实现生成虚拟环境。本文暂不讨论这个工具,后面一篇文章会介绍它。
pyenv侧重点在Python解释器版本的管理上,你可以随意的切换你的Python版本,并且不需要指定具体的虚拟环境目录。
三、虚拟环境pyenv
CentOS7下安装pyenv
gitclone/pyenv/pyenv.git~/.pyenv
MacOS下安装pyenv
brewupdate
brewinstallpyenv
如果你MacOS下因为网络原因无法很好的使用brew有两种解决办法:
参考/posts/terminal_configure_proxy_with_clash/这篇文章的方式进行代理设置
设置环境变量
#bash下设置环境变量
echoexportPYENV_ROOT=$HOME/.pyenv~/.bashrc
echocommand-vpyenv/dev/null||exportPATH=$PYENV_ROOT/bin:$PATH~/.bashrc
echoeval$(pyenvinit-)~/.bashrc
source~/.bashrc
#zsh下设置环境变量(我是iterm2+zsh)
echoexportPYENV_ROOT=$HOME/.pyenv~/.zshrc
echocommand-vpyenv/dev/null||exportPATH=$PYENV_ROOT/bin:$PATH~/.zshrc
echoeval$(pyenvinit-)~/.zshrc
source~/.zshrc
查看pyenv版本
pyenv--version
四、命令行使用方法
#查看当前版本
pyenvversion
#查看所有版本
pyenvversions
#查看有哪些版本可供安装
pyenvinstall--list
#安装python3.10.4版本
pyenvinstall3.10.4
#安装一个版本后rehash一下,让pyenv知道管理的Python版本信息
pyenvrehash
pyenvuninstall3.10.4
#查看所有版本
?pyenvversions
system
*3.10.4(setby/Users/allenjol/.py
您可能关注的文档
最近下载
- 保安服务 投标方案(技术标 ).doc
- Petrel中文操作手册.pdf VIP
- DB37∕T 5118-2018 市政工程资料管理标准.docx
- 拭子擦拭取样方法验证方案(回收率研究).pdf VIP
- 机电安装工程培训课件.pptx VIP
- 人教部编版三年级数学上册《万以内的加法和减法一(全章)》PPT教学课件.pptx VIP
- 千古奇文《渔樵问对》.pdf VIP
- 2023-2024学年北京市西城区八年级上学期期末考试道德与法治试卷含答案.pdf VIP
- Siemens 西门子工业 SIMATIC ET 200SP CM CAN SIMATIC ET 200SP CM CAN 使用手册.pdf
- 假钞识别培训课件内容.doc VIP
文档评论(0)