2011-08-12 35 views
0

我寧願結構看起來像:在Python中,如何在目錄中有一個「運行」子包?

Overall_Package/ 

__init__.py 

run_package/{ 

__init__.py 
run__subpackage1.py 
run_subpackage2.py 
run_subpackage3.py 
... 
} 

code package/ { 

Basic_code_package_that_is_used_in_many_if_not_all_the_sub_packages 
Sub_package1 
subpackage2 
.... 
} 

我不能使用相對導入,因爲它們是在同一個整體包裝,但我需要與此類似,便於下載的結構。

+0

感謝羅馬Bodnarchuk編輯這使它可讀。 –

+0

我不確定我是否理解你的問題,如果'Overall_Package'上方的目錄位於你的'PYTHONPATH'中,那麼你可以在你的模塊中使用絕對導入。 'import overall_Package.code_package.subpackage2' –

+0

它不在Pythonpath –

回答

0

我不太清楚我是否按照你的問題,你到底想要什麼。你需要分發這個,並希望它有這樣的結構?如果是這樣,你總是可以使用setuptoolsdistutils並將它的結構安裝到python的site-packages目錄中。

+0

不,這不是用於分發。但是,我需要在多臺計算機上安裝它,但仍需要這種結構。 –

+0

那麼,即使它不是使用上面的分發,並使setup.py將使安裝更容易。或者您可以編輯您的PYTHONPATH以添加您的Overall_Package並使用Nicola建議的解決方案。 – Bogdan

+0

這意味着我將不得不更改每個run_file以將over_allpackage附加到pythonpath? –

相關問題