[英]PYTHONPATH sys.path difference
我在將目錄添加到我的PYTHONPATH
時遇到問題,該目錄為/usr/local/lib/python2.7/dist-packages
當我跑步
PYTHONPATH=/usr/local/lib/python2.7/dist-packages python -c 'import sys; print sys.path'
我在結果中找不到它。 試用時,我注意到以下內容:當/usr/local/lib/python2.7
作為前綴存在時,該目錄從sys.path
消失,例如,以下操作正常:
PYTHONPATH=/usr/local/lib python -c 'import sys; print sys.path'
我沒有在其他任何地方設置PYTHONPATH
,我檢查了使用sudo運行它。
出現路徑的原因有多種。 確保您沒有遇到以下任何一種情況:
該路徑必須存在,不存在的路徑將被忽略。 從PYTHONPATH
文檔中 :
不存在的目錄將被靜默忽略。
刪除重復項(保留第一個條目); 將路徑設置為絕對路徑(相對於當前工作目錄),並在這很重要的平台上不區分大小寫地進行比較。
因此,如果您的相對路徑下降到sys.path
的相同絕對路徑,則僅保留第一個條目。
標准化和清除后, site
模塊嘗試導入sitecustomize
和usercustomize
模塊。 這些也可以操縱sys.path
。
你可以看看你仔細看看sys.path
清洗之后,如果有一個usercustomize
通過運行導入模塊site
模塊作為一個命令行工具:
python -m site
它將以可讀的每行一行格式打印出sys.path
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.