使用 pyenv 可以在一个系统中安装多个python版本

Posted 李学文

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 pyenv 可以在一个系统中安装多个python版本相关的知识,希望对你有一定的参考价值。

 

Installl related

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

Install pyenv

git clone git://github.com/yyuu/pyenv.git ~/.pyenv

vim ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH = "$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

source ~/.bashrc
# exec $SHELL

Check current version

python -V

List all version and install certain version

pyenv install --list
pyenv 3.5.1 install -v
## refresh database
pyenv rehash

## if not new installed version, do like :
pyenv global 3.5.1

多环境

# 创建新的环境,位于 ~/.pyenv/versions/
$ pyenv virtualenv 2.7.1 env271

# 切换到新的环境
$ pyenv activate env271

# 退回到系统环境
$ pyenv deactivate

# 删除新创建的环境
$ rm -rf ~/.pyenv/versions/env271/

Examples

# 查看当前 pyenv 可检测到的所有版本,处于激活状态的版本前以 * 标示。
$ pyenv versions
  system
* 3.5.1 (set by /root/.pyenv/version)
  3.5.1/envs/flask_py351
  3.5.1/envs/pelican
  flask_py351
  pelican

# 查看当前处于激活状态的版本,括号中内容表示这个版本是由哪条途径激活的(global、local、shell)
$ pyenv version
3.5.1 (set by /root/.pyenv/version)

# 使用 python-build(一个插件) 安装一个 Python 版本,到 $PYENV_ROOT/versions 路径下。
$ pyenv install -v 2.7.3

# 卸载
$ pyenv uninstall 2.7.3

# 为所有已安装的可执行文件 (如:~/.pyenv/versions/*/bin/*) 创建 shims,
# 因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令
$ pyenv rehash

# 设置全局的 Python 版本,通过将版本号写入 ~/.pyenv/version 文件的方式。
$ pyenv global 3.4.0

# 设置面向程序的本地版本,通过将版本号写入当前目录下的 .python-version 文件的方式。
# 通过这种方式设置的 Python 版本优先级较 global 高。pyenv 会从当前目录开始向上逐级查找 .python-version 文件,直到根目录为止。
#若找不到,就用 global 版本。
$ pyenv local 2.7.3

# 设置面向 shell 的 Python 版本,通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。
# 这个版本的优先级比 local 和 global 都要高。--unset 参数可以用于取消当前 shell 设定的版本。
$ pyenv shell pypy-2.2.1
$ pyenv shell --unset




以上是关于使用 pyenv 可以在一个系统中安装多个python版本的主要内容,如果未能解决你的问题,请参考以下文章

在 pyenv 中安装 Fabric 错误

linux 中安装pyenv

Mac OS下使用pyenv管理Python版本

Python多版本共存之pyenv

利用pyenv实现python的多版本控制

pyenv 入门介绍