Mac切換Python版本

lanyu發表於2021-09-09

寫在前面:
最近在學習Python基礎,教學影片裡的Python環境是python3。Mac自帶的python版本是2.7,於是我需要切換python版本到3.0。看了許多帖子後略懵,最終在裡解決了版本切換的問題。



安裝完新版本的python之後,他們的安裝位置:

1.Mac系統自帶的python環境在:
Python 2.7: 
    /System/Library/Frameworks/Python.framework/Versions/2.7/
    其中,直譯器在該目錄下的 ./bin/python2.7

2.使用者安裝的python環境預設在:
    Python 3.6.1:/Library/Frameworks/Python.framework/Versions/3.6/
    其中,直譯器在該目錄下的 ./bin/python3.6

3.使用者安裝 Anaconda3 後,自帶的python環境在:
    Python 3.4.1:/Users/steven/Anaconda3
    其中,直譯器在該目錄下的./bin/python3.4

,anaconda我理解為類似iOS開發常用的cocoapods,這不是本文的重點,可以先跳過。
那麼在安裝完新版本之後,切換預設的python為新版本的做法:

mac在啟動時,會先載入系統配置檔案(包括/.bash_profile),所有預設的命令路徑,將會被配置檔案(比如:/.bash_profile)中的路徑覆蓋,並且,是從檔案從下往上的順序覆蓋(最後的覆蓋前面的)。

方法一:

不輸入python,直接輸入python3,即使用的是python的載入檔案。
缺點:每次使用都要輸入python3,煩。

方法二(我用的這個,好使):

修改使用者根目錄下的~/.bash_profile檔案,在終端輸入:

open ~/.bash_profile

在檔案中新增一行:

// 具體版本根據你/Library/Frameworks/Python.framework/Versions這個路徑下最新版本自選// 我的版本是3.7alias python="/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7"

新增完之後執行

source ~/.bash_profile

驗證:

ZahiLins-MacMini:~ linzehua$ python --version
Python 3.7.0
方法三(未實踐):

修改~/.bashrc 來達到目的

open ~/.bashrc

在檔案中新增

alias python="python3"

這句話的意思就是 讓python命令與phthon3等價,所以你每次在shell中輸入python也就相當於輸入了phthon3了

注:使用方法3的時候發現並未生效,查資料顯示Mac下要載入bashrc的方法是

~/.bashrc裡面的一些設定,比如alias命令的設定“不起作用”,新開一個終端都要source一下才起作用。
unix下當shell是login shell,.bash_profile才會載入,而bashrc正好相反。
真正的區別是在下,當使用者登入到一個圖形介面,然後開啟一個終端terminal,那些shell是non-login shell。
然而,在OS X登入的時候,並沒有執行著一個shell,所以,在執行Terminal.app的時候,其實那是一個login shell。
後來新建了 .bash_profile載入一次.bashrc就ok啦

if [ "${BASH-no}" != "no" ]; then  
    [ -r ~/.bashrc ] && . ~/.bashrc  
fi



作者:一本大書
連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2035/viewspace-2819207/,如需轉載,請註明出處,否則將追究法律責任。

相關文章