pyenv 是一個 Python 版本管理器,也可以安裝 pyenv-virtualenv 達來支援 virtualenv 的功能。
安裝 pyenv 和 pyenv-virtualenv
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
$ sudo pip install virtualenv
In Ubuntu:
$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
Or, 使用yyuu/pyenv-installer
把下列加到 ~/.bashrc
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
安裝其它版本的 Python
查看可供安裝的 python 版本
$ pyenv install -l
...
3.4.0
3.4.1
3.4-dev
...
如果想要裝 3.4.1 的話,就使用pyenv install
$ pyenv install 3.4.1
查看已安裝的 Python 版本
先用pyenv versions
查看目前已安裝 Python 的版本
$ pyenv versions
* system
3.4.1
顯示目前預設是 system, 而可以切換到 3.4.1 的版本
$ pyenv global <version> # set global python version
$ pyenv local <version> #在當前目錄創建一個.python-version,以後進入這個目錄自動切換爲該版本
$ pyenv shell <version> #在當前shell的session裏啓用某個Python版本,優先級高於global,local
查看目前使用的 python 版本
pyenv 可以設定三種 scope,分別是 global, local 和 shell。shell 是只有當次登入 shell 有效,而 global 則是有修改系統 python 版本的效果, 我最常用的是 local,會更改當下目錄使用的 python 版本。
$ pyenv global
$ pyenv local
$ pyenv shell
使用 pyenv-virtualenv
新增一個 virtualenv uber
$ pyenv virtualenv 3.4.1 uber
此時會發現多了一個 python
$ pyenv versions
system
3.4.1
* uber (set by /home/cwliu/Downloads/uber/.python-version)
在此目錄使用該 virtualenv
$ pyenv local uber