如果我执行main.py
可以正常工作,那么问题出在我执行demo2.py
|myPackage
|subPackage
demo.py
demo2.py
main.py
main.py
from ludikDriver.demo2 import demo2_print
demo2_print()
demo2.py
from .demo import demoprint
def demo2_print():
print("demo2")
demoprint()
demo2_print()
demo.py
def demoprint():
print("demo")
错误:from .demo import demoprint
ModuleNotFoundError: No module named '__main__.demo'; '__main__' is not a package
我应该有__init__.py
吗?
答案 0 :(得分:2)
如果您放下.
,它应该可以工作。 demo2.py
变为:
from demo import demoprint # instead of `from .demo import demoprint`
def demo2_print():
print("demo2")
demoprint()
demo2_print()
现在,您可以在ipython中运行%run ludikDriver/demo2.py
,例如:
demo2
demo
有关更多详细信息,this article的“导入”部分可能会有帮助。