Debian

$PYTHONPATH 和 sys.path 似乎不匹配

  • May 29, 2018

我想永久添加一個文件夾,sys.path但它不起作用。

在我的 Debian Stretch 上,當我執行時:

$ echo $PYTHONPATH

它看起來很空

同時,當我列印 的內容時sys.path,有 10 條不同的路徑與其中包含的路徑不同$PATH(顯然在 中$PYTHONPATH)。怎麼解釋?

(我必須為一個框架創建一個 virtualenv,但我不認為我現在正在使用它,所以它可能不相關,但我對這個概念並不滿意,所以也許我錯過了一些東西)

此外,我嘗試修改.bashrc以添加路徑,$PYTHONPATH因此我知道以下行:

PYTHONPATH=$PYTHONPATH:~/bin 

重新啟動後,它可以工作,我的意思是 $PYTHONPATH 包含它,但sys.path.

此外,$ env | grep ^PYTHON什麼也不返回。

那麼,如何sys.path填充以及如何向其中永久添加文件夾?

sys.path在 Python 中是“指定模組搜尋路徑的字元串列表。從環境變數初始化PYTHONPATH,加上依賴於安裝的預設值。” (取自Python 線上文件)。

sys.path受 影響PYTHONPATH,後者必須是環境變數。如果它不是環境變數而只是 shell 變數,則解釋器將看不到它python。您可以通過在設置其值後或同時將其導出來將其轉換為環境變數,如

export PYTHONPATH=/some/path:/goes/here

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