Разница между запуском модуля как сценария и запуск импортированием
Есть два циклических сценария на питоне из известной книги:
recur1:
x = 1
import recur2
y = 2
recur2:
from recur1 import x
from recur1 import y
Я не понимаю, почему, если запускать recur1 как сценарий, никаких ошибок нет, но если recur1 импортировать в интерактивном режиме, то получаем ошибку, поскольку в пространстве имен y ещё не определено.
Для меня важно понять тонкую грань между способами запуска модуля.
С зеркальной стороны, если импортировать recur2 в интерактивном сеансе, то ошибки нет. Если запустить recur2 как сценарий - та же ошибка.