How to default Python3.8 on my Mac using Homebrew?

目前使用的 python3.7 想升級為 python3.8, 但使用 brew update 和 brew upgrade 後還是 python 3.7, 解法如下:

If existing symlinks belong to python 3.7 you should unlink them:
brew unlink python

Basically all you need to do:
brew link --force [email protected]

最後下:

brew reinstall [email protected]

就完成了,需要重開機一次,讓系統變數套成新的設定值。


使用:

brew info [email protected] 

可以看到目前 python 3.8 出到那一版,執行畫面:


查看目前 python 執行環境版本的方法:

import sys
print(sys.version)

為什麼需要去查詢呢?因為有些程式會內建python (例如:fontforge),如果對方包進程式裡的 python 比我們系統的還新,會造成外部的 package 通通是無效的,無法使用我們環境上的 package,造成程式都無法執行,會顯示ModuleNotFoundError: No module named, module不存在。


取得 Python site-packages directory 的 path:

import site
site.getsitepackages()

輸出結果:

['/usr/local/Cellar/[email protected]/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages']

如果遇到 FontForge 執行外部python 檔案,顯示 module 不存在,請先找出你的系統裡 python package 的路徑,再把 site-packages 複製一份到 FontForge 的目錄下,例如:

cp -r /usr/local/Cellar/[email protected]/3.8.5/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/* /Applications/FontForge.app/Contents/Resources/opt/local/lib/python3.8/site-packages

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *