在macOS上經過pyenv安裝和切換多版本Python

1. 安裝homebrewhtml

官網 http://brew.sh/index_zh-cn.htmlpython

打開終端,在終端中粘貼以下腳本git

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

測試是否安裝成功github

在終端中輸入 api

brew -v

出現相似提示,即表明安裝成功ruby

Homebrew 0.9.5 (git revision 1021; last commit 2016-03-30)bash

 

2.安裝pyenvapp

在終端中輸入curl

brew install pyenv

驗證是否安裝成功 測試

pyenv -v

 出現相似結果,即表明安裝成功

pyenv 20150310

 

3.查看可安裝的Python版本

在終端中輸入  

pyenv install --list

 會列出可安裝的Python版本號

 

4.安裝特定版本的Python

在終端中輸入 

pyenv install <version> 

安裝對應的Python版本,如: 

pyenv install 2.7.11

 

5.異常處理

如出現以下異常:

Installing Python-2.7.11... ERROR: The Python zlib extension was not compiled. Missing the zlib? Please consult to the Wiki page to fix the problem. https://github.com/yyuu/pyenv/wiki/Common-build-problems
 BUILD FAILED (OS X 10.11.5 using python-build 20160130) Inspect or clean up the working tree at /var/folders/fb/7406jr3s60z_tdpxxqm2s9hh0000gn/T/python-build.20160616162746.48644 Results logged to /var/folders/fb/7406jr3s60z_tdpxxqm2s9hh0000gn/T/python-build.20160616162746.48644.log Last 10 log lines: rm -f /Users/Matrix/.pyenv/versions/2.7.11/share/man/man1/python.1 (cd /Users/Matrix/.pyenv/versions/2.7.11/share/man/man1; ln -s python2.1 python.1) if test "xno" != "xno"  ; then \ case no in \ upgrade) ensurepip="--upgrade" ;; \ install|*) ensurepip="" ;; \ esac; \ ./python.exe -E -m ensurepip \ $ensurepip --root=/ ; \ fi yujingyao:2.7.11 Matrix$ CFLAGS="-I$(brew --prefix openssl)/include" LDFLAGS="-L$(brew --prefix openssl)/lib" pyenv install 3.6-Dev Cloning https://hg.python.org/cpython...
error: please install `mercurial` and try again

 則在終端中輸入,注意替換以下代碼的版本號

CFLAGS="-I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ pyenv install -v 2.7.11

 在EI Capitan實測有效

資料來源:https://github.com/yyuu/pyenv/issues/448

若有其餘異常能夠參考 https://github.com/yyuu/pyenv/wiki/Common-build-problems 

若是出現以下異常:

ImportError: No module named 'pyexpat'

請更新pyenv版本:brew upgrade pyenv

實測從1.0.2_1 更新直 1.2.3 後問題解決,同時安裝python時,也再也不須要上面的命令,能夠直接經過pyenv install <version> 直接安裝

 6.查看pyenv已安裝的Python版本

pyenv versions

 在終端中會列出已安裝的Python版本,如

2.7.11

3.5.1

 

7.編輯.bash_profile文件

在終端中輸入以下命令,進入當前用戶的Home目錄

cd ~

輸入以下命令,打開.bash_profile文件

open .bash_profile

如不存在,則輸入以下命令,建立文件

touch .bash_profile

編輯文件

open -e .bash_profile

在彈出的.bash_profile文件中新增

if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

command + s 保存文件

在終端中輸入以下命令,使用更新以後的.bash_profile內容

source .bash_profile

 

8.指定目錄切換指定版本的Python

在終端中cd到特定目錄,路徑名稱自行修改

cd /Users/Matrix/Documents/Projects/Python/3.5.1 

輸入:

pyenv local <version>

pyenv local 3.5.1

 

9.設定全局的Python版本

在終端中輸入

pyenv global <version>

pyenv global 3.5.11

不建議如此操做,可能會致使部分系統程序沒法正常工做

 

10.檢查是否切換成功

在終端中cd到特定目錄,路徑名稱自行修改

cd /Users/Matrix/Documents/Projects/Python/3.5.1 

 在終端中輸入:

python

會列出當前目錄使用的python版本,和設置的版本同樣則表明切換成功

 

在Pycharm中選擇pyenv安裝的Python版本參考:

http://www.cnblogs.com/blackmatrix/p/5603888.html 

相關文章
相關標籤/搜索