pyenv部署python多版本

pyenv简介

pyenv让你可以轻松地在不同版本的Python之间切换。pyenv使用起来很简单,并且遵循了UNIX传统的单一用途工具。

系统版本

  • centos 7.2
  • ubuntu 16.04 LTS

开始安装

解决依赖

  • centos
1
2
3
yum install gcc zlib-devel bzip2 bzip2-devel \
readline-devel sqlite sqlite-devel \
openssl-devel tk-devel readline-devel xz xz-devel -y
  • ubuntu
1
2
3
sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev \
wget curl llvm libncurses5-dev xz-utils tk-dev sqlite

新建用户

pyenv使用普通用户就能安装,所以就直接使用普通用户身份安装并使用

1
2
3
4
5
// 新建用户
useradd hy
// 切换到普通用户
su hy
// 回到当前用户的家目录cd

安装pyenv

1
curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

设置环境变量

修改配置文件

1
2
3
4
5
6
7
8
9
// centos系统
vim .bash_profile
// ubuntu系统
vim .basrc
PATH=~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
// 重读配置文件
source .bash_profile

部署多python版本

可以新建一个目录做为一个python版本

1
2
3
4
5
mkdir python35
cd python35
pyenv install -v 3.5.3
pyenv local 3.5.3
pip install --upgrade pip

常见问题

如果感觉从python官网下载的python包太慢,可以提前把下载python源码包

1
2
3
4
5
6
cd ~/.pyenv
mkdir cache
// 把下载好的python包放在cache目录里面
cd cache
// 我在又拍云存的源码包
wget https://inmir.b0.upaiyun.com/python/Python-3.5.3.tar.xz