需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存。pyenv就是这样一个Python版本管理器。
安装pyenv
$ curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
设置环境变量
$ echo '' >> ~/.bash_profile $ echo '# pyenv' >> ~/.bash_profile $ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile $ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile $ source ~/.bash_profile
更新pyenv
$ pyenv update
安装Python
查看可安装版本
$ pyenv install --list
安装Python依赖包
$ sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel
安装python版本
$ pyenv install -v 3.5.1
重构shim,利用pyenv安装完新version的py还是利用安装完新site package都需要执行这个操作
$ pyenv rehash
查看当前已安装的python版本
$ pyenv versions
设置全局的python版本
设置全局的当前Python版本,通过将版本号写入 ~/.pyenv/version
文件的方式。
$ pyenv global 3.5.1
确认当前python版本
$ pyenv version
使用python
- 输入 python 即可使用新版本的python;
- 系统自带的脚本会以 /usr/bin/python 的方式直接调用老版本的python,因而不会对系统脚本产生影响。
- 使用 pip 安装第三方模块时会安装到 ~/.pyenv/versions/3.5.1 下,不会和系统模块发生冲突。
- 使用 pip 安装模块后,可能需要执行 pyenv rehash 更新数据库。