目前使用的 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