社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
<p align = "center">可以看我的博客 lmwen.top</p>
<p align = "center">或者订阅我的公众号</p>
简介
有稍微接触python的人就会知道,python中有两个比较热门的版本,一个是python 2.7.x ,一个是python3.x,因为python易用,很多linux系统上都默认集成了某个版本的python,我见的大多数是python2.7.x。因为python2.7.x和python3.x之间存在一些差异,所以使用不同版本开发的python程序并不能完全兼容,伴随着这个问题的出现,python版本控制变得越来越重要。
安装pyenv进行版本控制
为了解决python多版本带来的问题,python版本切换工具—pyenv应运而生。pyenv工具的作用很明显,就是切换不同python的版本,满足相应的开发需求,比如开发一个项目需要用到python3.x,而此时使用的却是python2.7.x,就可以通过pyenv安装python3.x,然后将系统默认的python切换成3.x版本的python。
pyenv工具是github上的一个开源项目(github是一个代码托管网站),所以我们可以直接通过git工具获得pyenv对于的代码,然后修改系统的环境变量,就可以在任意目录下运行pyenv工具,进行python的版本切换了,具体的操作如下
12345678
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv #使用 git 把 pyenv 下载到家目录$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc #然后需要修改环境变量,使用 Bash Shell 的输入$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc #最后添加 pyenv init$ exec $SHELL -l #输入命令重启 Shell,然后就可以重启pyenv
$ pyenv install --list
$ pyenv install 3.6.1
该命令会从相应的地址上下载我们需要的3.6.1,然后直接为我们安装
$ pyenv install 3.6.1 -v #不要忘记-v参数
步骤总结如下:
1.执行 pyenv install 3.6.1 获取下载链接
2.用wget从下载链接中获取文件 Python-3.6.1.tar.xz
3.将安装包移动到 ~/.pyenv/cache/Python-3.6.1.tar.xz
4.重新执行 pyenv install 3.6.1 -v 命令。该命令会检查 cache 目录下已有文件的完整性,若确认无误,则会直接使用该安装文件进行安装。
通过上面的操作,就把python3.6.1版本安装好了,此时最好先更新一下pyenv的数据库,命令如下
1
$ pyenv rehash
此时我们来查看一下系统中安装过那些python版本
1
$ pyenv versions
$ pyenv global anaconda3-4.1.0
$ pyenv uninstall
如果你想更新pyenv,可以使用下面命令
1
$ pyenv update
安装virtualenv创建纯净虚拟环境
虽然通过pyenv进行python的版本切换已经不错了,但是每次开发不同python版本的项目时都要切换python版本,有点费力。当我们不同的项目要用到不同版本的库时,pyenv就爱莫能助了,举个具体的例子,Test1和Test2都要使用Request这个第三方库,但是Test1要求使用1.0版本的Request,而Test2要求使用2.0版本的Request,此时pyenv并不能对库进行版本切换,无论pytyon本身的版本如何切换,系统中使用的库默认都是一个版本的,当然可以通过一些配置让不同的项目不从不同的路径上加载需要的库,当不同的项目变得庞大繁杂时,这种方式会显得是否笨拙。
为了解决这种问题,我们可以使用virtualenv,virtualenv的作用是什么?通俗易懂的讲就是创建一个虚拟环境,不同虚拟环境内的python版本和库的版本都可以相互独立、互不影响,同样回到上面的例子,首先我们通过virtualenv创建Test1和Test2这两个虚拟环境,并在这两个环境中配置相应的python版本和库,如在Test1这个虚拟环境中,我们使用python2.7.x和1.0版本的Request,而在Test2这个虚拟环境中使用python3.x和2.0版本的Request,在这两个虚拟环境中分别创建Test1项目和Test2项目,这两项目之间就不会相互影响,使用各自的虚拟环境中使用各自的配置,这样开发不同需求的项目就变得简单而易于管理。
那么首先我们来安装virtualenv,通过下面命令可以简单安装
1
$ pip install virtualenv
在我的ubuntu系统中已经默认安装了virtualenv[图片上传中。。。(8)]
安装完后,就可以使用virtualenv创建相应的虚拟环境了,命令如下
1
$ virtualenv test
$ source activate
接着我们可以通过下面命令来看一下该虚拟环境拥有的包/库
1
$ pip list --format=columns #列的形式显示
$ deactivate
$ pip install virtualenvwrapper
$ echo 'export WORKON_HOME=$HOME/.virtualenvs' >> ~/.bashrc$ echo 'source /usr/local/bin/virtualenvwrapper.sh' >> ~/.bashrc
再运行bashrc文件
1
$ source ~/.bashrc
此时virtualenvwrapper就可以使用了。
通过下面命令创建一个虚拟环境
1
$ mkvirtualenv test2
$ workon
$ workon test2
当我们不想在使用该虚拟环境时,可以通过下面命令将该虚拟环境删除
1
$ rmvirtualenv test2
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!