Pyenv是python的版本管理工具,pyenv之於python至關於rvm之於ruby。html
在Mac OS X下,我用homebrew安裝pyenv:
python
brew update brew install pyenv
安裝過程當中,遇到了下面這個問題git
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
直接安裝openssl好像無論用,Google上搜了一下,在pyenv issue #263下找到了解決方法,運行github
xcode-select --install
安裝一下Xcode Command Line tools,再從新運行一下pyenv的安裝命令就行了。
shell
安裝好pyenv後,會有如下提示數據庫
==> Caveats To enable shims and autocompletion add to your profile: if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi To use Homebrew's directories rather than ~/.pyenv add to your profile: export PYENV_ROOT=/usr/local/opt/pyenv
按照提示,將以上的兩條語句添加到profile裏就能夠了,因爲我用的shell是zsh,因此我在.zshrc裏追加xcode
export PYENV_ROOT=/usr/local/opt/pyenv if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
這裏要注意,這兩個語句的順序不能顛倒,否則"pyenv global/local"將不起做用。ruby
要使改變立刻生效,運行一下工具
$SHELL -l
至此,pyenv的配置也完成了。unix
如今,咱們能夠查看一下可安裝的python版本
pyenv install -l
選好要安裝的版本後,運行下面這條命令安裝
pyenv install <version>
安裝完成以後須要對數據庫進行更新:
pyenv rehash
咱們能夠用pyenv versions查看已安裝的版本,要切換python版本,能夠用
pyenv global/local <version>
運行global命令會切換全局的python版本;
而local命令則會在當前目錄下建立.python_version,管理當前目錄及其子目錄(子目錄沒有.python_version的狀況下)的python版本。
一般,咱們在項目目錄下設置一下local版本就能夠了,緣由以下
通常的,咱們不修改全局版本,而使用期默認值
system
,由於在unix系統上,不少系統工具依賴於Python,若是咱們修改了Python的版本,會形成絕大多數的依賴Python的系統工具沒法使用,若是你不當心修改了,也沒關係張,使用global
命令修改回來就能夠了,有時候,你發現部分系統工具沒法使用,你也能夠看看你當前的Python版本。
參考
https://github.com/yyuu/pyenv#homebrew-on-mac-os-x
https://github.com/yyuu/pyenv/issues/263
https://github.com/yyuu/pyenv/blob/master/COMMANDS.md#pyenv-install
https://github.com/lixm/pybooklet/blob/master/install.md