Ошибка импорта .py файла при работе с двумя файлами

Такая проблема. Я недавно начал учить Python, и пока для практики постепенно улучшаю свою программу, её сложно назвать голосовым помощником, скорее это текстовый помощник. Так вот, проблема в том, что я пытаюсь сделать игры в этом помощнике, для этого создал отдельный файл. И когда я пытаюсь его импортировать в главный файл, мне пишет ошибку. Причём пока работа происходит с главным файлом, всё работает. А как только в коде вызывается функция из второго файла, вылезает ошибка. Код и текст ошибки прикреплю ниже.

Первый файл(главный):

#Импорт библиотек
from datetime import datetime
import time
import os
import gamesFunc

#Объявление переменных
currentFullDate = datetime.now()
createDate = '13.11.2022'
createYear = '2022'
userAnswer = ''

#Функция используемая для приветствия
def AnfisaSayHello(currentHour):
    #Приветствие в зависимости от текущего времени
    if currentHour < 6:
        print('Доброй ночи!')
    elif currentHour < 12:
        print('Доброе утро!')
    elif currentHour < 18:
        print('Добрый день!')
    else:
        print('Добрый вечер!')
    time.sleep(0.5)

def screenClear():
    os.system('cls')

def AnfisaSayAbout(currentYear):
    print('Меня зовут Анфиса.')
    differentYear = currentYear - int(createYear)
    if differentYear == 3 or differentYear == 4:
        time.sleep(0.5)
        print('Мне уже целых', differentYear, 'года!')
    elif differentYear >= 5 and differentYear <= 20:
        time.sleep(0.5)
        print('Мне уже целых', differentYear, 'лет!')
    else:
        pass
    time.sleep(0.5)
    print('Я твой персональный помощник.')
    time.sleep(0.5)
    print('Умею выполнять разные задания и показывать разную информацию.')
    time.sleep(0.5)
    print('Чтобы узнать что я могу, напишите "Анфиса, что ты умеешь?".')

def AnfisaGreets():
    screenClear()
    AnfisaSayHello(currentFullDate.hour)
    AnfisaSayAbout(currentFullDate.year)

for part in range(1, 11):
    print('Загружено', part, "из 10")
    time.sleep(0.1)
    os.system('cls')
AnfisaGreets()
while userAnswer != 'Пока' or userAnswer != 'пока':
    userAnswer = str(input('Вы сказали: '))
    if userAnswer == 'Анфиса, что ты умеешь?' or userAnswer == 'Анфиса, что ты умеешь' or userAnswer == 'Анфиса что ты умеешь?' or userAnswer == 'Анфиса что ты умеешь':
        print('Анфиса сказала: Пиши "Игры"')
    elif userAnswer == 'Игры' or userAnswer == 'игры' or userAnswer == 'Игра' or userAnswer == 'игра' or userAnswer == 'Играть' or userAnswer == 'играть':
        print('Анфиса сказала: Запускаю...')
        time.sleep(2)
        gamesFunc.gameLobby()
    else:
        print('Анфиса сказала: Извините, я Вас не поняла. Чтобы узнать что я могу, напишите "Анфиса, что ты умеешь?"')
exit()

Второй файл(с играми):

import time
import os
from Anfisa import AnfisaGreets

gameNowPlaying = ''

def screenClearWithGame():
    os.system('cls')
    print('Игра:', gameNowPlaying)
    print('--------------------')

#cities - игра в города
allRussianCities = {'Абаза', 'Абакан', 'Абдулино', 'Абинск', 'Агидель', 'Агрыз', 'Адыгейск', 'Азнакаево', 'Азов', 'Ак', 'Аксай',
'Алагир', 'Алапаевск', 'Алатырь', 'Алдан', 'Алейск', 'Александров', 'Александровск', 'Александровск'}
alreadyUsedCities = ['Абаза', 'Абдуллино', 'Абакан']
notUsedRussianCities = []

def citiesAnfisaSayCity(citySaidByUser = ''):
    notUsedRussianCities = allRussianCities.difference(alreadyUsedCities)
    print(notUsedRussianCities)
    AnfisaCity = notUsedRussianCities[0]
    alreadyUsedCities.append(citySaidByUser)
    citiesUserSayCity(AnfisaCity)

def citiesUserSayCity(citySaidByAnfisa = ''):
    userCity = ''

    alreadyUsedCities.append(citySaidByAnfisa)
    citiesAnfisaSayCity(userCity)

def citiesGameStart():
    screenClearWithGame()
    inputValueCitiesStart = ''

    while inputValueCitiesStart != '1' or inputValueCitiesStart != '2' or inputValueCitiesStart != '3':
        time.sleep(0.5)
        print('Кто будет начинать первым?')
        time.sleep(0.5)
        print('1. Вы')
        time.sleep(0.5)
        print('2. Анфиса')
        time.sleep(0.5)
        print('3. Вернуться')
        time.sleep(0.5)
        inputValueCitiesStart = str(input('Ваш ответ: '))
        if inputValueCitiesStart == '1' or inputValueCitiesStart == '1.' or inputValueCitiesStart == 'Вы' or inputValueCitiesStart == '1. Вы':
            screenClearWithGame()
            citiesUserSayCity()
        elif inputValueCitiesStart == '2' or inputValueCitiesStart == '2.' or inputValueCitiesStart == 'Анфиса' or inputValueCitiesStart == '2. Анфиса':
            screenClearWithGame()
            citiesAnfisaSayCity()
        elif inputValueCitiesStart == '3' or inputValueCitiesStart == '3.' or inputValueCitiesStart == 'Вернуться' or inputValueCitiesStart == '3. Вернуться':
            screenClearWithGame()
            citiesGameRules()
        else:
            print('Введите число 1, 2 или 3!')
        time.sleep(0.5)

def citiesGameRules():
    screenClearWithGame()
    inputValueCitiesRules = ''

    time.sleep(0.5)
    print('Правила игры:')
    time.sleep(0.5)
    print('Вы называете любой город, после чего Анфиса называет город начинающийся с последней буквы Вашего ответа.')
    time.sleep(0.5)
    print('Затем Вы называете город начинающийся с последней буквы ответа Анфисы.')
    time.sleep(0.5)
    print('И так далее.')
    time.sleep(0.5)
    print('Анфиса может называть только Русские города, в то время как Вы можете называть любые города мира.')
    time.sleep(0.5)
    print('Анфиса знает более тысячи городов, сможете её обыграть?')

    while inputValueCitiesRules != '1' or inputValueCitiesRules != '2':
        time.sleep(0.5)
        print('1. Продолжить')
        print('2. Вернуться')
        inputValueCitiesRules = str(input('Ваш ответ: '))
        if inputValueCitiesRules == '1' or inputValueCitiesRules == '1.' or inputValueCitiesRules == 'Продолжить' or inputValueCitiesRules == '1. Продолжить':
            screenClearWithGame()
            citiesGameStart()
        elif inputValueCitiesRules == '2' or inputValueCitiesRules == '2.' or inputValueCitiesRules == 'Вернуться' or inputValueCitiesRules == '2. Вернуться':
            screenClearWithGame()
            gameLobby()
        else:
            print('Введите число 1 или 2!')
        time.sleep(0.5)
#cities - игра в города

def gameLobby():
    gameNowPlaying = 'Игровое лобби'
    screenClearWithGame()
    inputValueGameLobby = ''

    while inputValueGameLobby != '1' or inputValueGameLobby != '2':
        time.sleep(0.5)
        print('Выберите игру:')
        time.sleep(0.5)
        print('1. Города')
        time.sleep(0.5)
        #print('2. Анфиса')
        #time.sleep(0.5)
        #print('2. Анфиса')
        #time.sleep(0.5)
        #print('2. Анфиса')
        #time.sleep(0.5)
        #print('2. Анфиса')
        #time.sleep(0.5)
        #print('2. Анфиса')
        #time.sleep(0.5)
        #print('2. Анфиса')
        #time.sleep(0.5)
        print('2. Вернуться')
        time.sleep(0.5)
        inputValueGameLobby = str(input('Ваш ответ: '))
        if inputValueGameLobby == '1' or inputValueGameLobby == '1.' or inputValueGameLobby == 'Вы' or inputValueGameLobby == '1. Вы':
            gameNowPlaying = 'Города'
            screenClearWithGame()
            citiesGameRules()
        elif inputValueGameLobby == '2' or inputValueGameLobby == '2.' or inputValueGameLobby == 'Вернуться' or inputValueGameLobby == '2. Вернуться':
            screenClearWithGame()
            AnfisaGreets()
        else:
            print('Введите число 1 или 2!')
        time.sleep(0.5)
Traceback (most recent call last):
  File "C:\Users\artyo\source\repos\Anfisa\Anfisa\Anfisa.py", line 5, in <module>
    import gamesFunc
  File "C:\Users\artyo\source\repos\Anfisa\Anfisa\gamesFunc.py", line 3, in <module>
    from Anfisa import AnfisaGreets
  File "C:\Users\artyo\source\repos\Anfisa\Anfisa\Anfisa.py", line 64, in <module>
    gamesFunc.gameLobby()
AttributeError: partially initialized module 'gamesFunc' has no attribute 'gameLobby' (most likely due to a circular import)

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