Ошибка 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