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目录下。