Python超有用的多版本管理工具pyenv
前言:
我们在平时的项目开发或者学习中,有可能使用不同的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
我们通过pyenv
的install
命令,可以查看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 install
、local
、global
、uninstall
进行Python版本的安装切换及删除,基本就能满足需要,感兴趣的话,可以再深入去了解pyenv的其他使用方式。
关于Python多版本管理工具pyenv的文章就介绍至此,更多相关Python多版本管理工具pyenv内容请搜索编程宝库以前的文章,希望大家多多支持编程宝库!
python实战练习之最新男女颜值打分小系统: 导语哈喽!我是木木子,今天又想我了嘛?之前不是出过一期Python美颜相机嘛?不知道你们还记得不?这一期的话话题还是围绕上期关于颜值方面来走。还是原来的配 ...