Python 3.x Python中的链接导入产生错误
我是Python新手,正在研究Python的特性,在一些应该简单的事情上遇到了问题。我有一个包含main.py和其他一些文件的主目录,还有一个子文件夹,其中包含用于某些特定处理的类。假设我的文件结构如下所示:Python 3.x Python中的链接导入产生错误,python-3.x,Python 3.x,我是Python新手,正在研究Python的特性,在一些应该简单的事情上遇到了问题。我有一个包含main.py和其他一些文件的主目录,还有一个子文件夹,其中包含用于某些特定处理的类。假设我的文件结构如下所示: root/main.py root/more/foo.py root/more/bar.py from bar import bar class Foo(): def __init__(): myBar = bar() if __name__ == '__ma
root/main.py
root/more/foo.py
root/more/bar.py
from bar import bar
class Foo():
def __init__():
myBar = bar()
if __name__ == '__main__':
G = Foo()
print(G.myBar)
文件foo如下所示:
root/main.py
root/more/foo.py
root/more/bar.py
from bar import bar
class Foo():
def __init__():
myBar = bar()
if __name__ == '__main__':
G = Foo()
print(G.myBar)
Main.py看起来像:
import more.foo as f
.
.
.
调用此行时,解释器在查找foo时没有问题,但导入行在foo.py中引发错误:
ModuleNotFoundError:没有名为“bar”的模块
当我在本地运行foo时,它可以有效地查找bar和函数。你能帮助我这里发生了什么,我能做些什么来规避这个问题吗
我正在OSX中使用PyCharm运行Python 3.7。我假设当您说您以本机方式运行foo时,您更多地处于文件夹中 为了解决您的问题,您只需从根目录导入与其位置相关的所有类,因为入口点位于main.py中 如果您从more.bar导入bar,则此操作应有效: