Что происходит при запуске команды `python` в терминале?

Ответ

При запуске команды python в терминале происходит следующее:

  1. Поиск исполняемого файла: Операционная система ищет исполняемый файл python (или python3, py) в директориях, указанных в переменной окружения PATH.
  2. Загрузка интерпретатора: Найденный исполняемый файл загружается в память. Интерпретатор Python инициализирует свою среду выполнения, включая загрузку стандартных модулей и настройку sys.path (пути поиска модулей).
  3. Определение режима работы: Интерпретатор анализирует аргументы, переданные команде python, чтобы определить режим работы:
    • Интерактивный режим (REPL): Если команда python вызвана без аргументов (например, python), запускается интерактивная оболочка (Read-Eval-Print Loop).
      • Выводится приветствие с версией Python.
      • Ожидается ввод пользователя (>>>).
      • Введенный код читается, вычисляется (компилируется в байт-код и выполняется виртуальной машиной Python), выводится результат.
      • Цикл повторяется до завершения работы (Ctrl+D или exit()).
        >>> 2 + 2
        4
        >>> print("Hello, Python!")
        Hello, Python!
    • Выполнение файла: Если указан путь к файлу (например, python script.py), интерпретатор читает и выполняет код из этого файла.
      • Код файла компилируется в байт-код.
      • Байт-код выполняется виртуальной машиной Python.
      • После завершения выполнения файла интерпретатор завершает работу.
    • Выполнение строки кода: С аргументом -c (например, python -c "print('Hello')") интерпретатор выполняет переданную строку кода.
      python -c "import os; print(os.getcwd())"
  4. Освобождение ресурсов: При завершении работы (будь то выход из REPL, окончание выполнения файла или строки) интерпретатор освобождает занятые системные ресурсы и завершает процесс.