Точный ответ зависит от конкретной IDE и точного терминала, который сравнивается в конкретной ОС.В главе документа IDLE, доступной из меню справки IDLE, есть раздел «3.3.IDLE-консольные отличия ».Некоторые из них применимы к другим IDE.
Одно из возможных различий, которые не обсуждались, это языковые различия.IDLE запускает пользовательский код напрямую с python, как есть.Другие IDE добавляют языковые расширения или экранированные команды.
Ваша проблема с NameErrors предполагает, что PyCharm вставляет что-то в глобальные переменные, чего нет в стандартном Python.Несколько лет назад несколько Stackoverflowers сообщили о дополнительных проблемах с именами в IDLE, которые я исправил.Чтобы кто-то мог сказать что-то еще, вам нужно добавить конкретный код и полученный ответ на ваш вопрос.