pyenv安装
1. 安装依赖包
yum -y install git gcc make patch zlib-devel gdbm-devel openssl-devel sqlite-devel bzip2-devel readline-devel
2. 安装pyenv
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
3. 设置环境变量
echo >> .bash_profile << EOF
# pyenv settings
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
EOF
4. 使之生效
. .bash_profile或者source .bash_profile
这时候pyenv就可以使用了
pyenv使用指南
1、pyenv versions查看系统的上安装的Python版本。
其中前面的*表示当前工作目录正在使用的版本,其中 的 system表示系统自带的 Python 版本:
$ pyenv versions
* system (set by /Users/yulongjun/.pyenv/version)
2、pyenv install 安装其他版本的Python。
例如安装3.6.1和2.7.13版本:
$ pyenv install 3.6.1 # 安装3.6.1版本的Python
$ pyenv install 2.7.13 # 安装2.7.13版本的Python
$ pyenv versions # 可以看到3个版本,system为系统自带的版本
* system (set by /usr/local/var/pyenv/version)
2.7.13
3.6.1
$ cd # 到家目录
$ mkdir Python36 # 创建Python3.6的工作目录
$ cd Python36
$ pyenv local 3.6.1 # 使当前工作目录使用Python3.6.1版本
$ python -V # 查看一下当前目录用Python的版本,确实是3.6.1
Python3.6.1
$ pip -V # 查看一下pip版本,是3.6的pip
pip 9.0.1 from /usr/local/var/pyenv/versions/3.6.1/lib/python3.6/site-packages
$ cd # 回到家目录
$ mkdir Python27 # 创建python2.7的工作目录
$ cd Python27
$ pyenv local 2.7.13 # 使当前工作目录使用Python2.7.13版本
$ python -V # 查看一下当前目录用Python的版本,确实是2.7.13
Python 2.7.13
$ pip -V # 查看一下pip版本,是2.7的pip
pip 9.0.1 from /usr/local/var/pyenv/versions/2.7.13/lib/python2.7/site-packages (python 2.7)
pyenv-virtualenv的使用方法
pyenv-virtualenv是用来创建一个干净的虚拟Python环境的命令,通常在创建干净的新项目时候使用。使用方法如下:
1、创建虚拟环境–pyenv virtualenv 版本号 虚拟环境名。
$ pyenv virtualenv 3.6.1 venv-3.6.1
2、创建项目,让项目使用干净的Python3.6.1的虚拟环境:
[yulongjun@yulongjun ~]$ mkdir Learning-Python3
[yulongjun@yulongjun ~]$ cd Learning-Python3/
[yulongjun@yulongjun Learning-Python3]$ pyenv local venv-3.6.1
(venv-3.6.1) [yulongjun@yulongjun Learning-Python3]$ cd ..
[yulongjun@yulongjun ~]$ cd Learning-Python3/
(venv-3.6.1) [yulongjun@yulongjun Learning-Python3]$
我们会发现:只要我们进入Learning-Python3目录,就会自动激活virtualenv,退出Learning-Python3目录,就会关闭virtualenv。
如果要关闭自动激活,可以运行命令pyenv deactivate,要重新启用的话,运行pyenv activate 虚拟环境名。