Python多环境扩展管理--pyenv的部署与使用

2017-09-19  本文已影响248人  CaiGuangyin

引言:pyenv是一个简单的python版本管理工具,通过改变shell的环境变量来切换不同的python版本,以达到多版本共存的目的。该工具不支持Windows系统。

pyenv工作原理如下:

部署pyenv

echo 'export PYENV_ROOT="$HOME/.pyenv" ' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH" ' >> ~/.bashrc
echo 'eval "$(pyenv init -)" ' >> ~/.bashrc
[root@DH-SHARE ~]# pyenv versions
* system (set by /root/.pyenv/version)

使用pyenv

通过pyenv管理多python版本

接下来,通过pyenv安装python 2.7.8版本来熟悉其用法。

Paste_Image.png
  - 先卸载
  pyenv uninstall 2.7.8

  // 如果不知道缺少的开发库包的名称,可以用以下命令搜索
  yum list | grep "readline"

  - 安装缺少的开发库
  yum -y install readline-devel bzip2-devel soci-sqlite3-devel

  - 再重新安装python
  pyenv install 2.7.8

pyenv更多用法如下:

命令 功能
commands 列出pyenv的所有可用命令
local 设置或列出当前目录下的python版本号
global 设置或列出全局环境下的python版本号
shell 设置或列出shell环境下的python版本号
install 安装指定的python版本
uninstall 卸载指定的python版本
rehash 重新加载pyenv的shims路径(安装完python版本后需执行该命令)
version 展示当前python版本号及其生效路径
versions 列出pyenv管控的所有可用的python版本
which 列出要使用命令的绝对路径
whence 列出后缀命令的所有可用版本

一键安装pyenv脚本


#!/bin/bash

if [ ! -e "/etc/yum.repos.d/epel.repo" ];then
    uname -r | grep ^3 &>/dev/null
    if [ $? -eq 0 ];then
        wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    else
        wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
    fi
fi

rpm -q git &>/dev/null || yum install -y git

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

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

exec $SHELL -l

安装方式二:

pyenv-installer安装

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

更新
pyenv update

卸载
rm -fr ~/.pyenv 并从~/.bashrc中删除这三行:

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

猜你喜欢

热点阅读