pyenv的使用

pyenv是一个python的版本管理器,同时还具有虚拟环境管理的功能,对于需要安装或部署不同版本在一台机器的情况下,pyenv非常合适。对于常用的centos6.5来说默认是python2.6环境,yum什么的还依赖2.6版本,所以使用pyenv非常合适。自己的开发机也可以安装各种版本的python。

安装

注意提前需要装一些编译python需要的

rpm系

yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel gcc

deb系

apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev

安装非常简单,一条语句搞定

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

*一些老版本的机器可能会出现git clone错误,需要更新nss,

yum update nss

脚本完成后在~/.bashrc_profile中添加,这样重启bash,就可以使用pyenv命令了

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

使用

查看可以安装哪些版本的python

pyenv install --list

查看当前已安装的版本

pyenv versions

安装指定版本

pyenv install 3.6.4

切换到指定版本

pyenv global 2.7.14

使用某个指定版本创建虚拟环境

pyenv virtualenv 2.7.14 virtualenv_name

激活创建的虚拟环境

pyenv activate virtualenv_name

取消激活虚拟环境

pyenv deactivate

在脚本中使用时,虚拟环境的路径是

~/.pyenv/versions/2.7.14/envs/virtualenv_name/bin/python

安装时,从python.org下载的速度比较慢,可以使用国内源进行下载后,放到~/.pyenv/cache/文件夹下,再进行本地安装。原来可以使用搜狐的镜像网站,不过貌似现在搜狐镜像关闭了,所以好像现在还真没有哪个镜像站提供python的安装包镜像了,所以一般是翻墙后下载,然后cp到cache目录下。

参考