好的品牌设计网站,公司内部网站的作用,wordpress自动文章时间插件,网站设置一键登录怎么办前言
Python 的不同版本之间常常存在依赖关系和兼容性问题#xff0c;为了方便开发人员在 不同项目中使用不同的版本 。
如果大家使用过Python版本管理工具#xff0c;肯定大多数人使用的都是Anaconda#xff0c;它是一个优秀的数据科学开发环境#xff0c;本身也提供了丰…前言
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 版本之间进行切换。