我已经读了大约10篇关于如何导入本地模块的文章,但我仍然不明白为什么这不起作用。我有一个非常简单的模块,演员.py,里面只有一个类:class Actor(object):
def __init__(self, name, age):
self.name = name
self.age = age
我想把它导入另一个模块,刮板.py,在同一目录中:
一些修复程序将没有init.py列为本地导入的问题,因此我知道这不是我的问题。
最初我试过这些:
^{pr2}$
以及from actor import Actor
但它告诉我actor和actor是未解析的引用。here告诉我这是python2语法,我使用的是python3。相反,我建议这样做:from .actor import Actor
当我用这个语法运行程序时,我得到了一个错误:ModuleNotFoundError: No module named '__main__.actor'; '__main__' is not a package
所以我又去搜索了一遍,thispost告诉我要把“actor”中的点去掉,但正如前面所说,我也试过了。我最后的猜测是from . import actor
但这就产生了ImportError: cannot import name 'actor'
我遵循here,但是那里的答案提到了循环依赖,我确定actor和scraper没有。我可能没有正确地编写模块吗?我想不出别的办法来写进口对账单了。在
编辑:如果有帮助的话,我用的是Intellij