Ubuntu下安装pyenv和virtualenv管理多版本python

安装Python版本管理工具——Pyenv

git clone git://github.com/yyuu/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
exec $SHELL -l

注意:我用的是zsh,所以配置文件是.zshrc。如果你使用的是默认shell——bash,上述命令中的.zshrc需要替换成.bashrc。

通过下面这个命令查看可以安装的python版本:

pyenv install --list

查看好版本后,我选择安装3.6.8,但是安装之前,我们必须要安装python所需要的依赖包,否则会安装失败。

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

centos7安装依赖包: sudo yum install -y gcc git openssl-devel zlib-devel readline-devel sqlite-devel bzip2-devel patch

上面的依赖包搞定之后,我们就可以安装python了:

pyenv install 3.6.8 -v

该命令会从github上下载python的源代码,并解压到/tmp目录下,然后在/tmp中执行编译工作。若依赖包没有安装,则会出现编译错误,需要在安装依赖包之后重新执行该命令。

安装完成之后,使用如下命令更新数据库:

pyenv rehash

查看当前已安装的python版本:

pyenv versions

* system (set by /home/yourname/.pyenv/version)
3.6.8

返回这两条就对了,*代表是当前系统正在使用的python版本是系统自带的。

设置全局的python版本:

pyenv global 3.6.8
pyenv versions

system
* 3.6.8 (set by /home/yourname/.pyenv/version)

当前的python版本已经变为了3.6.8。也可以使用 pyenv localpyenv shell 临时改变python的版本。

查看python版本 python --version

注意:

  • 输入python即可使用新版的python;
  • 系统自带的脚本会以/usr/bin/python的方式直接调用老版本的python,因而不会对系统脚本产生影响;
  • 使用pip安装第三方模块时会安装到~/.pyenv/versions/3.6.8下,不会和系统模块发生冲突;
  • 使用pip安装模块后,可能需要执行pyenv rehash更新数据库。

利用virtualenv创建虚拟python环境

我们可以使用virtualenv来创建虚拟python环境,virtualenv本是一个独立的工具,官网:https://pypi.python.org/pypi/virtualenv,安装pyenv后,我们需要以插件的形式安装virtualenv。

pyenv-virtualenv插件安装

项目主页:https://github.com/yyuu/pyenv-virtualenv

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
source ~/.zshrc

zsh的配置文件不再是/.zsh_profile去调用/.zshrc,而是直接就是/.zshrc就可以了.所以对于zsh的一切设置,直接去/.zshrc中设置。

如果使用bash:

echo ‘eval “$(pyenv virtualenv-init -)”’ >> ~/.bash_profile

source ~/.bash_profile

创建一个3.6.8的虚拟环境:

pyenv virtualenv 3.6.8 env368

现在本机上已经创建了一个名为env368的python虚拟环境,这个环境的真实目录位于:~/.pyenv/versions/

注意,命令中的 ‘3.6.8’ 必须是一个安装前面步骤已经安装好的python版本, 否则会出错。

我们可以继续通过 pyenv versions 命令来查看当前的虚拟环境, 结果如下:

* system (set by /home/tony/.pyenv/version)
2.7.15
3.6.8
env368

除了已经安装的python版本, 我们多出了一个env368的python虚拟环境。

切换和使用新的python虚拟环境

切换到新的虚拟环境的命令为:

pyenv activate env368

运行 ‘python’ 命令认证:

(env368)[root ~]# python

Python 3.6.8 (default, Mar 13 2019, 15:22:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.

> > >

下面基本上你就可以在这个虚拟环境里面为所欲为了,再也不用担心系统路径被搞乱的问题了。

如果要切换回系统环境, 运行这个命令即可:

pyenv deactivate

那如果要删除这个虚拟环境呢?直接删除它所在的目录就好:

rm -rf ~/.pyenv/versions/env368/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值