在下面的層次中,是否有一種方便和普遍的方式在下面的所有.py文件中使用通用術語來引用top_package?我希望有一個一致的方式來導入其他模塊,以便即使「top_package」更改名稱也不會中斷。如何在包內引用Python中的頂級模塊?
我不贊成使用像「..level_one_a」這樣的相對導入,因爲相對路徑將與下面的每個python文件不同。我正在尋找一種方法:
- 每個python文件可以具有相同的導入語句,用於包中的相同模塊。
在軟件包內的任何.py文件中對「top_package」的解耦引用,所以無論名稱「top_package」更改爲什麼,都不會中斷。
top_package/ __init__.py level_one_a/ __init__.py my_lib.py level_two/ __init__.py hello_world.py level_one_b/ __init__.py my_lib.py main.py
? (有時候這個答案揭示了真正的問題/解決方案。) – 2012-01-02 23:32:27
我希望儘可能使包可重用,這樣當我重命名頂層模塊時,所有內容仍然可以正常工作,而無需更改每個導入名稱。 – hllau 2012-03-02 04:13:28