Mac安裝多個Python版本

weixin_34402408發表於2018-07-30

簡介

利用Mac包管理工具brew安裝pyenv,pyenv用來管理所有python版本。如果沒有安裝brew,先安裝一下吧。

安裝pyevn

$ brew install pyenv
$ pyenv -v
pyenv 1.2.6

檢視所有的python版本(pyenv管理的所有版本)

$ pyenv versions
* system (set by /Users/xxx/.pyenv/version)

* 表示當前正在使用的版本,system表示用的是系統python版本

檢視可安裝python版本

$ pyenv install --list
Available versions:
  2.1.3
  2.2.3
  2.3.7
  ...

選擇版本進行安裝

$ pyenv install 3.5.5
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.5.5.tar.xz...
-> https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tar.xz
Installing Python-3.5.5...
python-build: use readline from homebrew
Installed Python-3.5.5 to /Users/xxx/.pyenv/versions/3.5.5

牆內環境,會卡在這裡,可以開代理,或者使用國內映象。

使用國內映象:

v=3.5.5|wget http://mirrors.sohu.com/python/$v/Python-$v.tar.xz -P ~/.pyenv/cache/;pyenv install $v

檢視所有安裝的版本

$ pyenv versions
* system (set by /Users/xxx/.pyenv/version)
  3.5.5

可以看到多了一個3.5.5版

切換版本

$ pyenv global 3.5.5 # 全域性切換
$ python -V # 驗證一下是否切換成功

此處用也可用local,只對當前目錄生效

$ pyenv local 3.5.5 # 當前目錄及其目錄切換
$ python -V # 驗證一下是否切換成功

此處有坑!

用pyenv versions檢視,明明已經切換成功,但是用python -V卻還是系統版本。原因是pyenv沒有加到$PATH環境變數裡去,解決辦法如下:

export PYENV_ROOT=~/.pyenv
export PATH=$PYENV_ROOT/shims:$PATH

此時,再次檢視python -V,已經成功切換到pyenv指定的版本。

可以把上邊兩句加到~/.bash_profile裡去,永久生效。

有時設定了pyenv local版本後,再設定global會發現沒有生效,可以嘗試:

pyenv local --unset

解除local設定。

要切換回系統版本,用同樣命令:

$ pyevn global system

解除安裝python版本

$ pyenv uninstall 3.5.5

檢視pyenv指令列表

$ pyenv commands
--version
commands
completions
exec
global
help
hooks
init
install
local
prefix
realpath.dylib
rehash
root
shell
shims
uninstall
version
version-file
version-file-read
version-file-write
version-name
version-origin
versions
whence
which

相關文章