Почему код виснет из-за комментариев?
Это не комментарий, а Шебанг, вот что вам может сказать Википедия:
Шебанг — в программировании последовательность из двух символов: решётки и восклицательного знака ("#!") в начале файла скрипта.

Когда скрипт с шебангом выполняется как программа в Unix-подобных операционных системах, загрузчик программ рассматривает остаток строки после шебанга как имя файла программы-интерпретатора. Загрузчик запускает эту программу и передаёт ей в качестве параметра имя файла скрипта с шебангом.[8] Например, если полное имя файла скрипта "path/to/script" и первая строка этого файла:

#!/bin/sh
то загрузчик запускает на выполнение "/bin/sh" (обычно это Bourne shell или совместимый интерпретатор командной строки) и передаёт "path/to/script" как первый параметр.
Вместо python напиши python3. Возможно он под второй версией, а не под третьей запускался.