pyenv管理python多个版本
安装依赖
yum install git curl
yum install gcc make patch gdbm-devel openssl-devel sqlite-devel readlinedevel zlib-devel bzip2-devel
创建普通用户
useradd python echo python | passwd --stdin python # 第一个python为密码 第二个python为账户
su - python
安装
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
更新pyenv
pyenv update
配置path(下面内容放到.bashrc)
# the following to ~/.bashrc: export PATH="/home/python/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
缓存文件
由于连接国外网站速度太慢,可以先下载好将要安装的Python版本的安装包,直接放置在
~/.pyenv/cache目录下,再进行安装。此cache目录不存在,请自行创建。
安装多个版本
pyenv install -l # 查看已安装的python版本 pyenv install 3.6.9 -vvv # -vvv显示安装详细信息 pyenv install 3.7.7 -vvv pyenv version # 当前python版本,system表示当前操作系统使用的版本 pyenv versions #查看所有已经安装版本,*星号表示当前版本
创建虚拟环境
由于不同项目,或使用不同Python版本,或使用同版本Python但使用不同版本库,很难将它们部署在
一起,所以,应该使用不同的虚拟环境隔离部署。
使用pyenv local 命令建立一个目录和一个Python版本或虚拟版本之间的关系,该目录的子孙目录默认
也继承这个版本。
$ mkdir -p projects/test369 $ mkdir -p projects/test369 $ cd projects/test369/ [python@nodex test369]$ pyenv virtualenv 3.6.9 py369 [python@nodex test369]$ pyenv local py369 (py369) [python@nodex test369]$ python -V Python 3.6.9 (py369) [python@nodex test369]$ pyenv version py369 (set by /home/python/projects/test369/.python-version)
$ pyenv local unset# 取消pyenv绑定
总结,可以直接绑定python版本,也可用虚拟环境绑定
# 直接使用python版本绑定(存在污染python版本的可能,比如test369目录使用这个版本,在这个目录下安装了Django,那么其他使用这个版本的目录,自动也安装了Django,而虚拟目录就不会) pyenv local 3.6.9 # 使用虚拟环境绑定 pyenv virtualenv 3.6.9 py369 pyenv local py369