Инструменты Python: работа с интерпретатором через командную строку

Раздел: Инструменты -> Запуск интерпретатора

Основные способы запуска интерпретатора Python

Наиболее распространённый способ выполнения кода Python - передача имени файла интерпретатору. Команда python script.py запускает скрипт, расположенный в текущей директории. Если файл находится в другом месте, указывается полный или относительный путь:

python /home/user/projects/hello.py

Python команды консоли (команды консоли python)

python ..\scripts\test.py

Python 3 консоль (консоль python 3)

Интерпретатор последовательно выполняет инструкции из файла. После завершения работы скрипта управление возвращается в командную строку операционной системы.

Цель использования - запуск заранее подготовленных программ, модулей, веб-приложений. Этот способ подходит для любого кода, который должен отработать один раз и завершиться.

Возможные проблемы:

  • Ошибка 'python' не является внутренней или внешней командой - интерпретатор не добавлен в переменную PATH. Решение: переустановить Python с опцией «Add Python to PATH» или указать полный путь к исполняемому файлу (C:\Python39\python.exe script.py).
  • Имя файла содержит пробелы - команда должна заключаться в кавычки: python "my script.py".
  • Неверная версия Python - если установлено несколько версий, может потребоваться указывать конкретную, например python3 script.py или py -3 script.py (Windows).

Как войти в интерактивный режим интерпретатора?

Команда python без аргументов запускает интерактивную оболочку (REPL). В ней можно вводить выражения и сразу видеть результат, а также выполнять многострочные конструкции (циклы, функции).

python

После запуска появляется приглашение >>>. Для выхода используется команда exit() или сочетание Ctrl+Z (Windows) / Ctrl+D (Linux, macOS).

Цель - быстрое тестирование фрагментов кода, изучение библиотек, отладка. В этом режиме удобно проверять синтаксис и получать справку по объектам через help().

Проблема: случайный ввод бесконечного цикла (например, while True: pass) - интерпретатор зависает. Решение: прервать выполнение комбинацией Ctrl+C. После этого можно продолжить работу или выйти.

Как выполнить короткий код без создания файла?

Флаг -c позволяет передать код непосредственно в командной строке. Код заключается в кавычки, и интерпретатор исполняет его сразу.

python -c "print('Hello from command line')"

Если код содержит несколько строк, можно использовать символ переноса строки или группировку в тройные кавычки (в зависимости от ОС).

python -c "
import sys
for arg in sys.argv[1:]:
    print(arg)
" -- one two three

Цель - быстрые вычисления, однострочные обработки данных, запуск простых тестов без создания файла. Особенно удобно для интеграции со скриптами оболочки.

Проблема: конфликт кавычек. В Windows двойные кавычки внутри кода должны быть экранированы. В Linux/макОС одинарные кавычки предотвращают интерпретацию переменных оболочки. Лучше использовать тройные кавычки или комбинировать типы кавычек.

Как запустить модуль как скрипт?

Многие модули Python имеют точку входа __main__. Их можно запустить через флаг -m с именем модуля (без расширения .py).

python -m http.server 8000
python -m venv myenv
python -m pip install requests

Цель - запуск встроенных и сторонних утилит, поставляемых как модули. Это гарантирует, что используется версия Python, соответствующая текущей среде.

Проблема: если модуль не установлен, возникает ошибка No module named X. Решение: установить модуль через pip install X или проверить активное виртуальное окружение.

Как остаться в интерпретаторе после выполнения скрипта?

Флаг -i после завершения скрипта оставляет активную интерактивную сессию. Все объекты, созданные во время выполнения, сохраняются.

python -i script.py

Это полезно для отладки: можно проверить значения переменных, вызвать функции, посмотреть стек вызовов (если скрипт прервался с ошибкой, интерпретатор переходит в режим отладки).

Проблема: если скрипт завершается с исключением без обработки, интерактивный режим всё равно запускается, но переменные могут быть неопределены. Чтобы войти в режим отладки после исключения, используют модуль pdb.

Как узнать установленную версию Python?

Флаг --version (или -V) выводит номер версии интерпретатора.

python --version

Вывод выглядит так: Python 3.11.4.

Цель - проверка совместимости перед запуском скрипта, выбор нужной версии при множественных установках.

Проблема: команда может показывать версию Python 2, если по умолчанию установлена устаревшая версия. На современных системах рекомендуется использовать python3 --version.

Расширенные примеры команд консоли Python

Ниже приведены дополнительные варианты использования интерпретатора с различными флагами и встроенными модулями. Каждый пример включает команду и ожидаемый результат.

1. Передача аргументов в код через -c и sys.argv

Пример
python -c "import sys; print(sys.argv[1:]); sys.exit(0)" arg1 arg2 arg3
['arg1', 'arg2', 'arg3']

Аргументы, следующие после кода, передаются как список sys.argv. Первый элемент (sys.argv[0]) равен '-c'.

2. Выполнение многострочного кода с помощью -c (оболочка Linux)

Пример
python -c $"
import os
for f in os.listdir('.'):
    if f.endswith('.py'):
        print(f)
"
script.py
utils.py

Конструкция $"..." позволяет задавать многострочные строки в Bash. В Windows можно переносить строки с помощью символа ^.

3. Запуск отладчика pdb для скрипта

Пример
python -m pdb my_script.py

Интерпретатор останавливается перед выполнением первой строки. Затем можно вводить команды отладчика: n (следующий шаг), s (шаг внутрь функции), c (продолжить), q (выйти).

4. Запуск HTTP-сервера для раздачи файлов

Пример
python -m http.server 8080

Без аргументов сервер использует порт 8000. Команда открывает доступ к текущей директории через браузер по адресу http://localhost:8080.

5. Создание виртуального окружения и его активация

Пример
python -m venv myproject_env
# Windows: myproject_env\Scripts\activate
# Linux/macOS: source myproject_env/bin/activate

После активации все команды python и pip будут использовать изолированное окружение.

6. Установка пакета с указанием версии

Пример
python -m pip install requests==2.31.0

Вывод показывает ход загрузки и установки. При успешном завершении сообщение Successfully installed requests-2.31.0.

7. Оптимизация кода (флаги -O и -OO)

Пример
python -O script.py
Пример
python -OO script.py

Флаг -O удаляет операторы assert и снижает отладочный вывод. Флаг -OO дополнительно удаляет docstring. Результат - более быстрый запуск, но с потерей диагностики.

8. Подробная трассировка импортов (флаг -v)

Пример
python -v -c "import math"

Выводятся все файлы, которые загружает интерпретатор (файлы .py, .pyc, расширения). Полезно для отладки проблем с импортами.

9. Использование py (Windows) для выбора версии

Пример
py -3.9 script.py
Пример
py -2 script.py

Команда py автоматически доступна после установки Python на Windows. Флаг -3.9 запускает конкретную версию, если она установлена.

10. Отключение создания .pyc файлов (флаг -B)

Пример
python -B script.py

Интерпретатор не записывает байт-код в кэш (__pycache__). Полезно для портативных скриптов или при ограничениях на запись.

11. Вывод справки по всем опциям интерпретатора

Пример
python --help

Показывает список всех флагов и их описание. Выходные данные содержат также примеры использования.

12. Использование sys.path для временной смены путей

Пример
python -c "import sys; sys.path.insert(0, '/tmp/libs'); import custom_module"

Позволяет загружать модули из нестандартных директорий без установки.

Команды консоли Python - comments

En
Python команды консоли (python)