我剛剛安裝了 Python 3.11 版(我還將 3.8 和 3.9 版從我的應用程式檔案夾移到了垃圾箱)。
我可以在下面看到它:
$ myname@name-MBP miniconda3 % ls /usr/local/bin/py*
/usr/local/bin/pydoc3 /usr/local/bin/python3-intel64
/usr/local/bin/pydoc3.11 /usr/local/bin/python3.11
/usr/local/bin/python3 /usr/local/bin/python3.11-config
/usr/local/bin/python3-config /usr/local/bin/python3.11-intel64
(關于我是否需要清理東西的任何其他建議將不勝感激。)
檢查python3 --version仍然顯示Python 3.8.13。
第一次嘗試解決
homebrew最初我嘗試使用并指定版本從命令列安裝它:
brew install [email protected]
我也嘗試過使用conda,但這些都不起作用。
第二次嘗試解決
我最初的想法是檢查我的 PATH (我認為這是 Python 決定使用哪個版本的方式,但如果我錯了,請糾正我)。
這仍然只包含版本 8 路徑:
/Users/myname/miniconda3/lib/python38.zip
/Users/myname/miniconda3/lib/python3.8
/Users/myname/miniconda3/lib/python3.8/lib-dynload
/Users/myname/.local/lib/python3.8/site-packages
/Users/myname/miniconda3/lib/python3.8/site-packages
所以我使用它添加了 Python3.11 路徑
PYTHONPATH="/usr/local/bin/pydoc3.11/:$PYTHONPATH"
export PYTHONPATH
現在,當我列印出來時,它包括 v3.11 路徑sys.path:
/usr/local/bin/python3.11
/usr/local/bin/pydoc3.11
/Users/myname/miniconda3
/Users/myname/miniconda3/lib/python38.zip
/Users/myname/miniconda3/lib/python3.8
/Users/myname/miniconda3/lib/python3.8/lib-dynload
/Users/myname/.local/lib/python3.8/site-packages
/Users/myname/miniconda3/lib/python3.8/site-packages
但python3 --version輸出仍然不變。
問題
我很緊張地繼續玩弄我的路徑內容并輸入隨機命令列執行來嘗試解決這個問題,因為我真的不知道我在做什么。
這里發生了什么事?
我怎樣才能得到python3 --version3.11 的輸出?
uj5u.com熱心網友回復:
所以首先要了解的是設定變數PYTHONPATH不會影響shell執行哪個版本的python。shell (bash/zsh) 只知道掃描PATHenv var 中的路徑以找出所有可執行檔案。
現在有兩種方法可以解決這個問題。
1.使用[email protected]自制軟體。
使用這種方法有幾個缺點。目前,brew 的默認 python3 是3.10.x. 每當您安裝任何依賴于 python@3 的木桶或公式時,它總是會安裝 python@3 公式 aka 3.10.x。安裝python3將使 brew symlink 3.10.x 成為/opt/homebrew/bin.

Python 3.11.x 可以通過安裝[email protected]和呼叫來使用python3.11。這應該會讓您進入 Python 3.11 解釋器。將所有 python 可執行檔案名稱附加到版本pip中,例如pip3.11

試圖強制 3.11 超過 3.10 鏈接會很復雜并導致不穩定。它只會在開發程序中引起挫敗感。
2. 使用 VirtualEnvs
對于最穩定和最輕松的 Python 方法,您最好的選擇是使用venv或來創建虛擬環境pyenv。使用pyenv-virtualenv以獲得最大的易用性。
一個限制venv是它會創建一個與呼叫它的版本相同的 virtualenv。Aka 如果你這樣做brew install python@3 && python3 -m venv <folder>,它將創建 python3 的 virtualenv。對于 3.11,您必須brew install [email protected] && python3.11 -m venv <folder>. 另一方面,Pyenv 可以安裝任何版本的 python。
通過https://www.dataquest.io/blog/a-complete-guide-to-python-virtual-environments/和https://github.com/pyenv/pyenv-virtualenv了解和了解更多資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/523904.html
