Ошибка AttributeError в Python 3.8

Участок кода:

 elif speech_engine.comparison(message.text, "время") > 0.5:
    functions.time_now(message.chat.id)

сама функция (time_now):

def time_now(id):
    time_now = time.ctime()
    bot.send_message(id, "Сейчас узнаю")
    bot.send_message(id, str(time_now))

ошибка:

Traceback (most recent call last):
  File "C:\Program Files\Python38\lib\site-packages\telebot\util.py", line 60, in run
    task(*args, **kwargs)
  File "c:\Users\Кирилл\Desktop\telegram_bot\main.py", line 20, in get_text_messages
    functions.time_now(message.chat.id)
AttributeError: partially initialized module 'functions' has no attribute 'time_now' (most likely due to a circular import)
"
Traceback (most recent call last):
  File "c:\Users\Кирилл\Desktop\telegram_bot\main.py", line 3, in <module>
    import functions
  File "c:\Users\Кирилл\Desktop\telegram_bot\functions.py", line 5, in <module>
    import main
  File "c:\Users\Кирилл\Desktop\telegram_bot\main.py", line 36, in <module>
    bot.polling(none_stop=True, interval=0)
  File "C:\Program Files\Python38\lib\site-packages\telebot\__init__.py", line 392, in polling
    self.__threaded_polling(none_stop, interval, timeout)
  File "C:\Program Files\Python38\lib\site-packages\telebot\__init__.py", line 416, in __threaded_polling
    self.worker_pool.raise_exceptions()
  File "C:\Program Files\Python38\lib\site-packages\telebot\util.py", line 109, in raise_exceptions
    six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
  File "C:\Users\Кирилл\AppData\Roaming\Python\Python38\site-packages\six.py", line 703, in reraise
    raise value
  File "C:\Program Files\Python38\lib\site-packages\telebot\util.py", line 60, in run
    task(*args, **kwargs)
  File "c:\Users\Кирилл\Desktop\telegram_bot\main.py", line 20, in get_text_messages
    functions.time_now(message.chat.id)
AttributeError: partially initialized module 'functions' has no attribute 'time_now' (most likely due to a circular import)

Ответы (1 шт):

Автор решения: gil9red

В main.py вы импортируете functions.py, а в functions.py импортируется main.py, поэтому и ошибка:

AttributeError: partially initialized module 'functions' has no attribute 'time_now' (most likely due to a circular import)

Возможно, вам нужен третий модуль, который будет иметь общие данные для main.py и functions.py

→ Ссылка