簡體   English   中英

PYTHONPATH系統路徑差異

[英]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模塊嘗試導入sitecustomizeusercustomize模塊。 這些也可以操縱sys.path

你可以看看你仔細看看sys.path清洗之后,如果有一個usercustomize通過運行導入模塊site模塊作為一個命令行工具:

python -m site

它將以可讀的每行一行格式打印出sys.path

暫無
暫無

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

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