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


1. 安裝homebrew

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

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

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

測試是否安裝成功

在終端中輸入 

brew -v

出現類似提示,即代表安裝成功

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

 

2.安裝pyenv

在終端中輸入

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 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM