proj1
|__ py1.py
|__ py2.py
pkg
|__ __init__.py
|__ comm_f1.py
|__mod1
| |__ __init__.py
| |__ f1.py
| |__ f2.py
|__mod2
| |__ __init__.py
| |__ f3.py
| |__ f4.py
我知道有一些類似的問題,但是我的看起來有點不同。 我有上面的項目和包目錄。 'pkg'目錄包含一些基本功能和類,我將用於我的項目'proj1'或'proj2'等,這樣我就不想在'proj1'下面保留'pkg'。我用VS2015調試'proj1',告訴它參考'pkg'目錄,它工作得很好。但是現在我創建了comm_f1.py,它有一些常見的功能/類,我相信可以使用不同的子模塊,如'mod1'和'mod2'等,例如,在f3.py中我想從comm_f1中導入我的類使用:python從不同目錄導入 - '嘗試相對導入超出頂級包'
from ..comm_f1 import myclass
它給我的錯誤信息「試圖相對進口超出頂層包」 我怎麼能完美地解決這個問題呢?我不想讓'pkg'的名字(或絕對目錄路徑名稱與'pkg'),因爲我可能會改變'pkg'的名稱,我想因爲comm_f1.py只在f3.py的父級目錄,它沒有必要必要去碰它的盛大父母「PKG」