Ubuntu18.04下安装pyenv(python多版本管理工具)和virtualenv及常用命令

最近正在重头梳理Python的基础知识,为了更好地使用Python进行开发,防止发生版本混乱(不同的第三方库有可能因为Python版本不兼容而报错),所以需要使用pyenv进行版本管理。
通常来说,安装一个开源程序需要自己编译和下载相关依赖包,但是作者提供个一个简易的安装器,只需要一条命令即可搞定安装。

$ curl https://pyenv.run | bash

pyenv.run重定向到github内的安装脚本,上面这句命令等同于

$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

如果要升级pyenv:

$ pyenv update

卸载pyenv(pyenv安装的默认路径为~/.pyenv,如果自定义安装路径则删除自定义文件夹):

$ rm -fr ~/.pyenv

并删除.bashrc下面的环境变量:

export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

遇到的问题
输入:

pyenv --version

1.报错:command ‘pyenv’ Not Found
解决:检查.bashrc中有没有添加pyenv的环境变量信息,没有则添加进去(使用其他shell,如zsh的,则在.zshrc中添加。)
2.找不到zlib包(缺少依赖)

解决:输入下面命令安装

$ sudo apt-get install zlib1g-dev

pyenv常用命令

pyenv  install --list    查看python版本
pyenv install 3.6.1     安装对应版本python
pyenv local 3.6.1        当前目录下python环境指定为3.6.1
pyenv versions           查看系统中已安装的python版本

pyenv-virtualenv: 管理虚拟环境的插件

pyenv 解决的是同一个系统中不同版本的 python 并存的问题,而 pyenv-virtualenv 解决的是不同项目所依赖的软件包之间可能产生冲突的问题。
pyenv-virtualenv安装方法:

pip install pyenv-virtualenv

创建独立虚拟python环境

pyenv virtualenv 3.4.9 env349          创建python3.4.9的虚拟环境
pyenv  activate env349                           启用python3.4.9环境
pyenv deactivate                                   退出虚拟python环境

至此,Pyenv+virtualenv版本管理系统搭建完成,可以在一台主机上互不干扰的使用不同版本的python+第三方库的组合了
补充:最近在自己虚拟机上安装时遇到了新的问题,记录下

CentOS7下使用pyenv安装多个版本的python时会提示缺少依赖环境
Ubuntu18.04下安装pyenv(python多版本管理工具)和virtualenv及常用命令_第1张图片
这是因为有些依赖包没有安装,执行以下命令安装

yum install readline readline-devel readline-static -y yum install openssl openssl-devel openssl-static -y yum install sqlite-devel -y yum install bzip2-devel bzip2-libs -y

再安装就成功了

使用pyenv安装Python版本

0.查看所有的python版本(pyenv管理的所有版本)

$ pyenv versions
system (set by /Users/xxx/.pyenv/version)

表示当前正在使用的版本,system表示用的是系统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

2.安装 python 2.7.14(时间可能稍微有点长)

pyenv install 2.7.14 -v 

3.安装 python 3.6.4(时间可能稍微有点长)

pyenv install 3.6.4 -v

4.更新pyenv的数据库

pyenv rehash
  1. 查看 pyenv支持管理的python 版本
pyenv versions  
  1. 选中3.6.4(pyenv数据库中存在的版本)作为默认版本 - 切换版本
    注意切换为全局切换
pyenv global 3.6.4

注:如果版本没有切换成功,需要在~/.bash_profile 文件中添加如下两句话
然后切换版本

export PYENV_ROOT=~/.pyenv
export PATH=$PYENV_ROOT/shims:$PATH

然后查看成功

:~$ pyenv versions
  system
* 3.6.4 (set by /home/sdas/.pyenv/version)

使用pyenv+virtualenv创建虚拟环境

1.使用pip安装virtualenv

pip install virtualenv

2.创建你的python虚拟环境(3.6.4是你pyenv数据库中存在的版本,env36是你虚拟环境的名字,可以任意起)

pyenv virtualenv 3.6.4 env36

3.切换到你的虚拟环境

pyenv activate env36

如果命令行中有(env36),如(env36) yfx@bo:~$,说明你处于env36的虚拟环境中
4.退出虚拟环境

pyenv deactivate

你可能感兴趣的:(Linux,Python)