簡體   English   中英

python 在 Mac 上安裝更新版本后運行舊版本

[英]python runs older version after installing updated version on Mac

我目前在我的 Mac 上運行 python 3.6,並通過官方 python releases下載並安裝最新版本的 python (3.11)。 運行python3.11在 3.11 中打開解釋器, python3.11 --version返回Python 3.11.0 ,但終端中的python -V返回Python 3.6.1:: Continuum Analytics, Inc.

我嘗試使用brew install python@3.11通過自制軟件再次安裝,但得到了相同的結果。

更令人沮喪的是,當我嘗試使用python3 -m venv env打開虛擬環境時,我得到

Error: Command '['/Users/User/env/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 1.

我改變了.bash_profile

# Setting PATH for Python 3.11
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.11/bin:${PATH}"
export PATH
. "$HOME/.cargo/env"

根據這篇文章創建了一個.zprofile

export PYTHONPATH=$HOME/Users/User

基於這篇文章的python3.6 ,但--version仍然拋出.zshrc

我正在運行 Big Sur 操作系統。 Pip 和自制軟件已更新並升級。 承認我完全愚蠢,我需要做什么才能讓 python >3.7 在終端中運行?

您要做的是覆蓋 python 符號鏈接。

通過 homebrew 安裝 python 后,可以看到 python3.11 只是符號鏈接。

cd /usr/local/bin; ll | grep python3.11

結果是:

lrwxr-xr-x  1 user  admin        43 Nov  7 15:43 python3.11@ -> ../Cellar/python@3.11/3.11.0/bin/python3.11

所以讓我們覆蓋它。

ln -s -f $(which python3.11) $(which python)
ln -s -f $(which python3.11) $(which python3)
ln -s -f $(which pip3.11) $(which pip)
ln -s -f $(which pip3.11) $(which pip3)

在這些命令之后, pippip3python3python將調用版本 3.11。

此命令創建軟符號鏈接。

ln -s

這個帶有-f選項的命令會覆蓋現有的軟符號鏈接。

軟符號鏈接類似於快捷方式。

在手冊頁中, which命令被描述為

which - 顯示(shell)命令的完整路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM