2015-09-17 104 views
0

我有一個Python項目,它使用Github回購中的一些代碼。我使用git submodule add添加了回購。所以,現在我有以下文件結構:在子文件夾中導入失敗

ProjectFolder\ 
    foo.py 
    BarProject\ (the Github repo added with submodule) 
     bar.py 
     baz.py 

在我的主文件foo.py我想從文件bar.py導入方法bar

from BarProject.bar import bar 

這失敗,因爲bar.py第一線是:

from baz import * 

和Python拋出一個ImportError,因爲它無法找到該模塊巴茲。


有沒有一種方法導入該文件bar.py的方式,使得相對進口沒有得到搞砸了?我並不想修改bar.pybaz.py,因爲它們是外部Github項目的一部分。

+0

嘗試從'.baz導入*' –

+0

@MathiasEttinger我不想改變文件'bar.py',因爲它是我沒有的Github項目的一部分。 – user38034

+0

如果它適合你,你可以發出拉請求;) –

回答

0

請記得將__init__.py添加到BarProject文件夾以指示該文件夾是包。