Python

python命令啟動錯誤版本的python解釋器

  • February 14, 2022

我使用的是 Mac OS X 版本 10.13.1,並且我剛剛安裝了 anaconda。我使用命令創建了一個虛擬環境

conda create -n py3 python=3

然後,我使用命令啟動了 python 解釋器

python

令我驚訝的是,來自 /usr/bin 的預裝 python 2.7 出現了,而不是 python 3.6。為了檢查出了什麼問題,我發出了命令

which python

結果更令人驚訝,我得到了以下結果:

/Users/karlstroetmann/anaconda2/envs/py3/bin/python

當我然後呼叫命令時

/Users/karldrstroetmann/anaconda2/envs/py3/bin/python

我確實得到了 python 3.6.3。但我不明白為什麼我不能通過鍵入來呼叫這個版本python。我在這裡想念什麼?任何提示將不勝感激。

python命令很可能已經過雜湊處理,您需要清除記憶體。為了查看實際執行的執行檔,您可以使用該type命令,例如:

type -a python

which命令不同,該type命令知道散列程序,以及別名和 shell 函式。

有關用於確定 shell 執行哪些程序的命令(沒有雙關語)的進一步討論,請參閱以下文章:

或者,您也可以使用hash命令本身來確定給定命令是否已被散列,例如:

hash -t python

您還可以通過hash不帶任何參數執行來列出所有散列命令,即:

hash

同樣,您可以使用該alias命令檢查給定命令是否為別名,例如:

alias python

您還可以列出所有活動別名:

alias

要清除記憶體的 Python 程序,可以使用以下命令:

hash -d python

或者,您可以一次清除所有內容:

hash -r

要清除單個別名,您可以使用該unalias命令,例如:

unalias python

或者您可以一次清除所有別名:

unalias -a

引用自:https://unix.stackexchange.com/questions/403972