pyenv这个工具可以用来管理我们的Python版本,在以后的工作中可能会用到不同的python版本,pyenv可以实现不同python版本之间的切换,既方便又快捷,今天就记录一下Ubuntu上安装pyenv,python与virtualenv的安装过程。
1.安装pyenv
安装pyenv需要用到两个工具,vim跟curl。如果没有安装的小伙伴可以用下面两条命令安装
sudo apt-get install vim
sudo apt-get install curl
安装完这两个工具之后就可以正式安装pyenv了,下面是安装pyenv的代码,比较长建议大家复制
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
到这一步会提示这么几行信息,意思是你要将它写入你的配置文件,就是以下三行
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
我们将它写入配置文件,配置文件是.bashrc,这个文件在你的home目录下用户名文件里.可以这样找到它
vim /home/你的用户名/.bashrc 这里你的用户名需要填写自己的用户名,如我的用户名为yu,对应的命令就是vim /home/yu/.bashrc
直接使用上面这条命令进入vim编辑器进入配置文件并修改
如图将这三行内容写入配置文件,进入文件后按i键进入编辑模式,写入之后按esc接着按shift+:进入底部命令模式,输入wq意为保存并退出。
现在配置文件已经写入,但是并没有生效,想让它生效得执行下面这条命令
source /home/你的用户名/.bashrc
这样配置文件就立即生效了,接着就能查看我们的pyenv是否安装成功,输入:
echo $PATH 注意这里的PATH是大写
如上图,如果提示信息里出现shims就说明pyenv已经成功安装上了。但是在这要说一点,Ubuntu虽然自带python2.7跟3.5版本,但是pyenv并不能管理这两个版本,即现在还不能通过pyenv切换版本。要想实现版本切换,必须使用pyenv来重新安装python3与python2的版本,下面介绍怎样通过pyenv来安装Python
2.通过pyenv安装python2与python3
安装python之前首先需要安装它的依赖包,不然直接安装会报错
1.安装依赖包
sudo apt-get install libc6-dev gcc
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
通过这两条命令安装好依赖包之后就可以直接安装python了,这里以安装python2.7为例,python3的安装是一样的过程,在结尾给大家介绍。
2.安装python
安装python有两种方式,一种是直接通过pyenv install 3.6.4 -v这条命令安装,但是非常慢,这里我们采用第二种安装方法
首先先创建一个目录,用来保存安装包
cd /home/你的用户名/.pyenv && sudo mkdir cache
这里我创建了一个cache目录,如果你创建一个别的目录,需要将后面的代码中的cache改为你的目录名,如果你的目录也创建为cache则不用修改。
wget -c http://mirrors.sohu.com/python/3.6.4/Python-3.6.4.tar.xz -P /home/你自己的用户名/.pyenv/cache/
这里一定要替换成你自己的用户名,否则就会出现这个错误
还有一个容易遇到的错误就是没有权限也就是Permission denied,遇到这个错误需要在命令之前加上sudo,以管理员身份来执行命令,如果你是管理员用户则不会出现这个问题
在命令之前加上sudo
这样一来,就能成功执行了,会出现这个界面
如图,python2.7正在下载。
下载完毕之后需要执行安装,接下来的步骤就比较轻松了,但是需要等一小会,安装时间稍长
pyenv install 2.7.14 -v
回车就能看到代码不停的向上翻滚,稍等片刻就会出现这个画面,提示安装成功
到这,python2就已经成功安装了。
接着来简单说说python3的安装,python3的安装过程与python2的过程一样只不过命令稍微发生改变
wget -c http://mirrors.sohu.com/python/3.6.4/Python-3.6.4.tar.xz -P /home/你的用户名/.pyenv/cache/这里下载python3的版本
pyenv install 3.6.4 -v 安装
这就是安装python2与python3的命令区别
python版本安装完成之后,需要更新pyenv的数据库才能显示python两个不同的版本
pyenv rehash 更新pyenv的数据库
pyenv versions 查看pyenv管理的python版本可以看到2版本跟3版本
pyenv global 3.6.4 这就是用来切换python版本的命令,这里我使用3.6.4的版本,如果你想使用其他版本可以在后面指定如pyenv global 2.7.14
3.安装virtualenv
之所以安装virtualenv是处理这种情况,比如你有两个项目同时使用python2.7,项目a需要flask1.0项目b需要flask2.0这个时候就需要pyenv和virtualenv来结合使用
这里使用python3的版本来举个例子,使用pip来安装,过程非常简单
pip install virtualenv 直接安装
这里已经提示Successfully installed 下面是提示pip版本可以更新,如果想更新可以用它提示的命令更新也就是pip install --upgrade pip
一个项目使用一个virtualenv
创建一个目录用来创建项目的虚拟环境
sudo mkdir -p myproject/mall
cd myproject/mall/ 创建目录并且换到目录
pyenv virtualenv 3.6.4 env36 创建项目的虚拟环境
pyenv activate env36 切换到虚拟环境
如图,当前面显示env36表明已经进入虚拟环境,退出只需要执行pyenv deactivate env36即可退出。