Python может быть «скомпилирован», где компиляция рассматривается как перевод с одного языка Turing Complete (исходного кода) на другой (объектный код). Однако в Лиспе объект является сборкой, что теоретически возможно с Python (доказано), но не осуществимо.
Истинная причина, однако, менее сглаживает. Lisp во многих отношениях является революционным языком, впервые использовавшим в своих диалектах множество функций в языках программирования, к которым мы привыкли сегодня. В Лиспе, однако, они просто «следуют» логически из основ языка. Язык, который вдохновлен необработанными выразительными возможностями lisps, такими как JavaScript, Ruby, Perl и Python, обязательно должен интерпретироваться, потому что получить эти возможности в языке с «похожим на Алгол синтаксисом» просто сложно.
Lisp получает эти функции благодаря тому, что он «гомо-иконический», и между программой lisp и структурой данных lisp нет существенного различия. Программы на Лиспе - это структуры данных, если хотите, они являются структурными описаниями программы в таком S-выражении, поэтому скомпилированная программа на lisp эффективно «интерпретирует себя» без необходимости использования лексера и всего такого, программа на lisp может просто рассматриваться как ручной ввод дерева разбора. Что требует синтаксиса, с которым многие люди находят нелогичным работать, поэтому было предпринято много попыток перенести необработанную выразительную силу парадигмы в более читаемый синтаксис, что означает, что компилировать его невозможно, но не невозможно к сборке.
Кроме того, компиляция Python в сборку, возможно, будет медленнее и больше, чем «полуинтерпретация» его на виртуальной машине, многие функции Python зависят от синтаксического анализа.
Хотя вышесказанное написано огромным фанатом-фанатом, помните об этом конфликте интересов.