我在一個存儲庫的簽出副本中對python模塊進行了一些更改,並且需要對其進行測試。但是,當我嘗試運行使用該模塊的腳本時,它會繼續從存儲庫的主幹中導入模塊,這對我來說沒有用處。如何讓Python選擇正確的模塊而無需手動修改sys.path?
我試着設置PYTHONPATH,它什麼也沒做。經過一番搜索之後,我發現在site-packages目錄下的.pth文件中的任何內容都會放在PYTHONPATH之前(這對我來說是失敗了)。我相信這是我的模塊不被挑選的原因。
我正確嗎?如果是這樣,有什麼方法來重寫這個(不修改腳本有sys.path.insert(0,path)
)?
編輯:在回答NicDumz - 原庫是/projects/spam
下。 python模塊是/projects/spam/sources/python/a/b/
中的一部分。然而,這些是每晚使用本地生成的變體「建造」,然後將它們放入/projects/spam/build/lib/python/a/b/
。該腳本僅在最後一個路徑下使用該模塊。
我已經檢出了整個存儲庫下/home/sundar/spam
,並在/home/sundar/spam/sources/python/a/b/mymodule.py
作出更改。我已將PYTHONPATH設置爲/home/sundar/spam/sources/python
,並嘗試登錄import a.b.mymodule
,但沒有成功。
我認爲機智會更容易與更長的環境描述。中繼模塊在哪裏安裝?它是如何安裝的?然後,爲了您的副本,您是否只複製一個小的子模塊或整個樹?它放在哪裏? etc ... – NicDumZ 2009-11-05 11:12:20