Python

當我在 shell 中鍵入 python 時,如何控制哪個命令是

  • April 4, 2019

我使用 anaconda 作為處理虛擬環境的一種方式。這意味著我安裝了多個版本的 python。當我從 shell 執行 python 時,我遇到了錯誤的 python 版本。

跑步

Which python
/anaconda3/envs/dash-two/bin/python
type -a python
python is /anaconda3/envs/dash-two/bin/python
python is /usr/bin/python

受這篇文章的啟發,我嘗試了 hash -t python 並查看了 alias 的輸出

這是在“PATH”環境變數中控制的。

PATH 是一個目錄列表,用於搜尋您輸入的命令。它是由冒號分隔的單個字元串。例如:我放置在主目錄 ( /home/philip/bin) 中的任何內容都將被使用,而不是其中的任何內容,/usr/bin/因為我的 PATH 設置為:

echo $PATH
/home/philip/bin:/usr/local/bin:/usr/bin:/bin:/usr/games

要臨時更改您的路徑,您可以使用“導出”進行設置。例如:

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/games:/home/philip/bin

要永久設置它,您需要在您的個人資料中進行設置。這可以通過將類似於上面的行(使用重新排序的路徑)放入主目錄中名為.profile. 如果不存在,只需創建它並添加該行。

您似乎想使用虛擬環境,但尚未啟動。要做到這一點(假設你安裝了基本的 venv 東西——對 python3 效果更好)

$ mkdir pytry
$ python3 -m virtualenv pytry

現在你應該在pytry. cd into pytry,你應該看到例如

$ ls
bin  include  lib  local  share
$ 

現在執行

source bin/activate

注意從虛擬 env 目錄執行上面(在我們的例子中pytry

現在你應該發現你的提示應該已經從 (say)$變成(pytry) $

which python會告訴你你的 python 執行檔

如果你想要一個不同的執行檔,那麼在創建 venv 時你需要執行而不是

python3 -m virtualenv pytry

python3 -m virtualenv -p other_python_executable pytry

一般來說,這將顯示幫助

$ python3 -m virtualenv -h

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