Python超有用的多版本管理工具pyenv

 更新时间:2021年09月27日 15:43:08   作者:tigeriaf  
使用不同的Python版本,如果我们把需要的不同版本的Python都下载到服务器上,管理起来会非常困难,多版本并存又容易互相干扰,接下来就来介绍一个Python环境管理工具:pyenv,就可轻松的在多个版本的Python之间自由切换,需要的朋友可以参考下

前言:

我们在平时的项目开发或者学习中,有可能使用不同的Python版本,大家都知道Python的版本非常多,如果我们把需要的不同版本的Python都下载到服务器上,管理起来会非常困难,多版本并存又容易互相干扰,搞不好整个服务器的Python环境会因此乱掉导致不能正常工作,那么我们应该如何解决Python多版本共存于管理的问题呢?接下来就来介绍一个Python环境管理工具:pyenv,有了它,你就可以轻松的在多个版本的Python之间自由切换,完全不用考虑版本混乱的问题。

1、安装与配置

pyenv已经在github上开源,我们直接从github上clone项目到本地:

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

然后,分别执行以下命令进行安装: 然后向配置文件中追加环境变量(pyenv的路径等)

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init --path)"' >> ~/.profile

安装及配置好环境变量后,需要重新载入配置文件,使刚才追加的配置生效,一般使用source命令,source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。如下所示:

source ~/.bash_profile

至此没有报错的话,pyenv就安装完成了,我们可以通过下面的命令验证pyenv是否正确安装以及获取pyenv的帮助信息:

pyenv --help

2、使用pyenv

我们通过pyenvinstall命令,可以查看pyenv当前支持哪些Python版本,如下所示:

pyenv install --list

备注:此处截图并没有截全,还有很多的版本。

可以使用pyenv versions命令查看当前系统中包含的Python版本:

pyenv versions

这里我们还没使用pyenv安装其他的Python版本,所以此处只用一个系统自带的Python版本。

可以使用pyenv install安装不同的Python版本:

pyenv install 3.7.4
pyenv install 3.8.0

此处有个坑,使用pyenv install命令安装Python时,默认从python.org下载指定版本,会非常慢,一直卡在这:


可以先从国内的镜像网站下载指定的Python版本到~/.pyenv/cache目录下,然后再用pyenv install命令安装,就很快了。此处使用淘宝的源。

wget https://npm.taobao.org/mirrors/python/3.7.4/Python-3.7.4.tar.xz  -P ~/.pyenv/cache

使用国内源下载之后,再次执行pyenv install命令安装时,会跳过下载,直接进行安装。

安装完成之后,再次执行pyenv versions就会出现刚才安装的Python版本。

因为刚才安装了2个Python版本,3.7.4和3.8.0,加上系统自带的Python版本,其中,输出结果前面的'*'表示当前正在使用的版本,可见现在还是使用的系统自带的Python版本。

我们可以通过pyenv global更改全局的Python版本,如下所示:

pyenv global 3.7.4

如果不想让指定的Python版本全局生效,而是在指定的目录下生效,那可以使用pyenv local命令修改:

pyenv local 3.7.4

此命令只会使执行该命名的目录下的Python环境改变。

如果想要删除Python版本,则使用uninstall命令。如下所示:

pyenv uninstall 3.7.4

3、总结

使用pyenv以后,可以快速地切换Python的版本,切换Python版本以后,与版本相关的依赖也会一起切换,因此不会造成多版本共存互相干扰的问题。日常开发过程中使用pyenv installlocalglobaluninstall进行Python版本的安装切换及删除,基本就能满足需要,感兴趣的话,可以再深入去了解pyenv的其他使用方式。

到此这篇关于Python多版本管理工具pyenv的文章就介绍到这了,更多相关Python多版本管理工具pyenv内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Pycharm 操作Django Model的简单运用方法

    Pycharm 操作Django Model的简单运用方法

    今天小编就为大家分享一篇Pycharm 操作Django Model的简单运用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python openpyxl 遍历所有sheet 查找特定字符串的方法

    Python openpyxl 遍历所有sheet 查找特定字符串的方法

    今天小编就为大家分享一篇Python openpyxl 遍历所有sheet 查找特定字符串的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 用Python制作在地图上模拟瘟疫扩散的Gif图

    用Python制作在地图上模拟瘟疫扩散的Gif图

    这篇文章主要介绍了如何用Python制作在地图上模拟瘟疫扩散的Gif图,其中用到了欧拉公式等数学知识、需要一定的算法基础,需要的朋友可以参考下
    2015-03-03
  • Jupyter Notebook安装及使用方法解析

    Jupyter Notebook安装及使用方法解析

    这篇文章主要介绍了Jupyter Notebook安装及使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Python selenium的基本使用方法分析

    Python selenium的基本使用方法分析

    这篇文章主要介绍了Python selenium的基本使用方法,结合实例形式分析了Python使用selenium模块进行web自动化测试的基本模块导入、操作技巧与相关注意事项,需要的朋友可以参考下
    2019-12-12
  • 详解python中的lambda与sorted函数

    详解python中的lambda与sorted函数

    这篇文章主要介绍了python中的lambda与sorted函数的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • Python实现对字符串中字符提取校验

    Python实现对字符串中字符提取校验

    众所周知,python之所以很方便在一定程度上是因为随时都可能有人又创作了一个好用又方便的python非标准库。本文就来用Python实现对字符串中字符进行提取校验,需要的可以参考一下
    2022-10-10
  • python模块之re正则表达式详解

    python模块之re正则表达式详解

    正则表达式是一种小型的、高度专业化的编程语言,并不是python中特有的,是许多编程语言中基础而又重要的一部分。在python中,主要通过re模块来实现。这篇文章主要介绍了python模块之re正则表达式详解,需要的朋友可以参考下
    2017-02-02
  • 浅谈matplotlib 绘制梯度下降求解过程

    浅谈matplotlib 绘制梯度下降求解过程

    这篇文章主要介绍了浅谈matplotlib 绘制梯度下降求解过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Python合并同一个文件夹下所有PDF文件的方法

    Python合并同一个文件夹下所有PDF文件的方法

    今天小编就为大家分享一篇关于Python合并同一个文件夹下所有PDF文件的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03

最新评论