簡體   English   中英

動態更新PYTHONPATH可防止.pyc更新

[英]Dynamically updating the PYTHONPATH prevents .pyc update

為了使自己在項目中擁有清晰的文件結構,我使用以下代碼段將項目主文件夾動態添加到PYTHONPATH中,因此確保即使從文件位置上方也可以導入文件。

import sys
import os
sys.path.insert(0, os.path.join(os.path.dirname(os.path.realpath(__file__)), "."))

因為這樣做了,所以當我啟動主文件時,在我手動刪除任何.pyc文件之前,不再識別對模塊的更改。 因此,我認為這出於某種原因阻止了python檢查pyc文件是否為最新。 我能以任何方式克服這個問題嗎?

如果模塊名稱不再唯一,則添加已經導入的模塊的路徑可能會給您帶來麻煩。 考慮到您確實import foo ,這將其父包bar添加到sys.path現在也可以import bar.foo Python將認為這兩個模塊是不同的模塊,這可能會使依賴模塊身份的任何內容混亂。

您應該真正考慮一下為什么首先需要進行此修改。 如果您的程序包中有可執行文件,則不應這樣做

cd bardir/bar
python foo

而是將其作為包裝的一部分通過

cd bardir
python -m bar.foo

您可以嘗試使python不寫那些* .pyc文件。

如何避免.pyc文件?

對於大型項目,從性能的角度來看,這將有一點點影響。 您可能對此並不在意,然后就無法創建pyc文件。

暫無
暫無

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

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