2011-01-24 79 views
0

我創建了一個小的框架和我的目錄結構是這樣的蟒蛇相對列入

myframework -> contrib -> jinja2 
myframework -> contrib -> session 
myframework -> start.py 

問題是下了contrib包,像會話INFACT jinjia2有子目錄和的Jinja2的__init__.py裏有一些進口相對所以現在,使其工作根除位置 ,我必須把Jinja2的包放到根目錄,有一種方法,使在

+1

我對理解你的問題有些困難。 jinja2在contrib以及會話下還是會話在jinja2裏面的文件夾contrib?它看起來像你從來沒有完成你的最後一句話,使它有點難以看到你想要什麼:D – Skurmedel 2011-01-24 09:48:18

+0

ops對不起,我有一個start.py我導入jinja2模板,但二放在一個目錄(contrib)導入jinja2不工作,所以如果我想包括jinja2會話/ __ init__.py不工作,因爲jinjia2期望在網站的根目錄:) – LXG 2011-01-24 16:51:09

回答

3

工作你將有一個hard time如果你要重新設計包裝,其中的結構相對進口已被使用。只要按照其設計的方式使用軟件包,並使用多個軟件包,只需確保它們全部位於PYTHONPATH中即可。 relative imports在以下目錄結構和參考機制下工作最佳。只要確保你的模塊以類似的方式訪問文件。