Вы не получите сообщение об ошибке в IDLE, если вы просто запустите модуль. Попробуйте ввести команду импорта из оболочки IDLE, и вы получите гораздо более информативное сообщение об ошибке. У меня была такая же ошибка, и все это имело значение.
(И да, я скопировал код из книги и был полон невидимых «неправильных» символов.)