Mac升級Python3


更多內容參見個人技術博客,無廣告歡迎關注

 

Mac安全地升級Python3,不會刪除Mac自帶的Python2.x,homebrew安裝新版本Python后,通過軟連接來設置python訪問的是python3。

Mac自帶的python是2.7.x,這個太老了在運行python命令時會提示建議用python3,下面介紹兩種方式安全地升級python3。

 

----------(相關知識拓展)

UNIX create a symbolic link command(創建軟連接)

To create a symbolic link, enter:

$ ln -s {/path/to/file-name} {link-name}

$ ln -s /shared/sales/data/file.txt sales.data.txt

$ vi sales.data.txt

$ ls -l sales.data.txt

----------

 

方法一:升級最新版系統后使用系統自帶的python3

升級到Mac 10.15后,安裝最新版的Xcode,系統中有Python3,只需要創建軟連接將/usr/local/bin/python指向系統的python3即可,其實/usr/bin/python3使用的是Xcode中的python/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python

 

wood@wutengfeideMacBook-Pro ~ % ln -s /usr/bin/python3 /usr/local/bin/python

wood@wutengfeideMacBook-Pro ~ % ln -s /usr/bin/pip3 /usr/local/bin/pip

 

wood@wutengfeideMacBook-Pro ~ % ls -al /usr/local/bin/pip

lrwxr-xr-x  1 wood  admin  13 12 24 18:15 /usr/local/bin/pip -> /usr/bin/pip3

wood@wutengfeideMacBook-Pro ~ % ls -al /usr/local/bin/python

lrwxr-xr-x  1 wood  admin  16 12 24 18:14 /usr/local/bin/python -> /usr/bin/python3

 

-------------------------------------------------------

 

 

方法二:通過homebrew安裝python3(參考The right and wrong way to set Python 3 as default on a Mac

brew install python

brew upgrade python

 

wood@wutengfeideMacBook-Pro ~ % which python

/usr/local/bin/python

wood@wutengfeideMacBook-Pro ~ % which python3

/usr/local/bin/python3

wood@wutengfeideMacBook-Pro ~ % unlink /usr/local/bin/python

wood@wutengfeideMacBook-Pro ~ % ln -s /usr/local/bin/python3 /usr/local/bin/python

 

wood@wutengfeideMacBook-Pro ~ % which pip

/usr/local/bin/pip

wood@wutengfeideMacBook-Pro ~ % which pip3

/usr/local/bin/pip3

wood@wutengfeideMacBook-Pro ~ % unlink /usr/local/bin/pip

wood@wutengfeideMacBook-Pro ~ % ln -s /usr/local/bin/pip3 /usr/local/bin/pip

 

這種處理方式有問題,新打開Terminal無效,需要同時配置~/.bash_aliases 和~/.bash_profile

 

 

 

--------(相關知識拓展)

/usr/bin 下面的都是系統預裝的可執行程序,會隨着系統升級而改變。

/usr/local/bin 目錄是給用戶放置自己的可執行程序的地方,推薦放在這里,不會被系統升級而覆蓋同名文件。

如果兩個目錄下有相同的可執行程序,誰優先執行受到PATH環境變量的影響,比如我的一台服務器的PATH變量為。

 

wood@wutengfeideMacBook-Pro ~ % echo $PATH

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

 

可以看到 /usr/local/bin 是優先 /usr/bin 的,所以如果which python出現多個選項,則會受PATH的影響。

 

 

 

 

 

 


免責聲明!

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



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