0
我有一個項目,我建立在一個我正在並行構建的庫上。結構如下:從包的{進,出}端導入
project/
main.py
MyLibrary/
__init__.py --> empty
Module1.py --> contain the class Class1
Module2.py --> contain the class Class2
Module3.py --> contain the class Class3
...
我需要導入類class2到Class1.py,如果我做
from Module1 import Class1
這是確定的。但是,當項目/ main.py我做
from MyLibrary import Module1
我導入錯誤:沒有模塊名稱模塊1
我可以更換解決這個問題:
from Module1 import Class1
通過
from .Module1 import Class1
但是,我再也無法直接運行Module1.py(Python抱怨我正在嘗試做一個親戚對非包裹的影響......)。我需要這個來運行測試。
我怎麼能在這兩種情況下導入該工作?
感謝您的關注!
編輯:第一個描述的解決方案似乎工作在我的Linux桌面上,但不是在我的Windows XP Powerred筆記本電腦。這很奇怪...
有了這些名字,很難說如果你試圖從模塊內部導入模塊(最佳實踐)或類,並且你得到了什麼。此外,除了短暫提及Class2之外,所有地方都使用「Class1」,這是令人頭痛的事情。請做一些合理的重命名(例如模塊Mod1,Mod2!),並澄清哪些是你想要導入的,從哪裏,在sys.path上什麼,以及當前目錄。 – 2009-11-23 16:11:48
你正在寫你想要「將Class2導入Class1.py」。但是,然後你嘗試通過'從Class1 import Class1'實現。這根本不符合邏輯。 – ndim 2009-11-23 19:26:31
我不好,我改變了模塊名稱以獲得更好的清晰度(我希望)。 – thomas 2009-11-23 22:10:37