modulenotfoundererror当导入一个正在导入另一个模块的模块时



文件结构:

AppFolder/
|
|-- main.py
|
|-- Google
|
|-- client.py
|
|-- synchronization.py

在我的main.py中,我试图导入synchronization.py。在synchronization.py中,我导入client.py

我得到错误ModuleNotFoundError: No module named 'client'与我的文件配置如下:

main.py

import Google.synchronization as googleCalendar
def main():
googleCalendar.getEvents()

if __name__ == '__main__':
main()

synchronization.py

import client
def main():
"""Connects the application with a google API"""
global service
service = client.main()
def getEvents():
return service.events().list(calendarId = 'primary')
if __name__ == '__main__':
main()

其他人也有类似的问题,我尝试了多种东西,如from Google.synchronization import *from . import synchronization,但没有任何改变。

唯一可以"解决"的事情问题是将main.pysynchronization的导入放入if __name__ == '__main__':中,如下所示:

synchronization.py

if __name__ == '__main__':
import client
main()

但是现在,当我运行main.py时,我得到了错误:NameError: name 'service' is not defined。我不知道如何修复这个新问题。

有没有其他方法导入我的文件,可以缓解这两个问题?或者另一种方法来创建我的变量service?

Thanks in advance

Try

from .import client
def main():
"""Connects the application with a google API"""
service = client.main()
return service
def getEvents():
return main().events().list(calendarId = 'primary')

尝试这样导入:

from .client import main as client_main

相关内容

  • 没有找到相关文章

最新更新