Выполнение Python: от простых команд до сложных сценариев

Раздел: Основы Python -> Запуск и выполнение Python

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

Как запустить скрипт Python из командной строки?

Самый распространенный способ — вызов интерпретатора с именем файла. Для этого требуется открыть терминал (командную строку) и перейти в каталог с файлом script.py. Затем ввести команду:

python script.py

Python запуск (запуск python)

Если установлены несколько версий Python, может потребоваться указать python3 или py (Windows).

python3 script.py

После нажатия Enter интерпретатор читает файл, выполняет инструкции и выводит результат.

# script.py
print('Привет, мир!')

Результат в терминале:

Привет, мир!

Типичные ошибки:

  • Python не распознан как команда — необходимо добавить путь к интерпретатору в переменную среды PATH или переустановить Python с опцией «Add Python to PATH».
  • Файл не найден — проверьте текущий каталог (команда pwd или cd) и имя файла.
  • Синтаксическая ошибка — интерпретатор укажет строку с ошибкой, исправьте код в файле.

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

Для быстрых экспериментов используется интерактивный режим. В терминале введите:

python

Появится приглашение >>>. После ввода строки кода и нажатия Enter интерпретатор сразу вычисляет её:

>>> 2 + 2
4

Выход из режима — exit() или Ctrl+Z (Windows) / Ctrl+D (Linux, macOS).

Возможная сложность:

Многострочные конструкции (циклы, функции) требуют соблюдения отступов и завершения пустой строкой.

Как выполнить одну строку кода?

Флаг -c позволяет передать код прямо в команду:

python -c "print('Hello')"

Результат:

Hello

Удобно для однострочных операций, не требующих файла.

Ошибка экранирования кавычек:

В Windows при использовании двойных кавычек внутри строки нужно экранировать или использовать одинарные кавычки.

Как запустить модуль как главный скрипт?

Если модуль поддерживает запуск через if __name__ == '__main__', его можно выполнить командой -m:

python -m http.server

Запустит простой HTTP-сервер. Аналогично для своих модулей:

python -m mymodule

Этот способ гарантирует правильную настройку путей импорта.

Ошибка: модуль не найден

Убедитесь, что модуль находится в текущем каталоге или установлен в системе.

Как сделать скрипт исполняемым в Linux/macOS?

Добавьте шебанг (shebang) в первую строку файла:

#!/usr/bin/env python3

Затем установите права на выполнение:

chmod +x script.py

Теперь скрипт запускается как ./script.py.

Проблема с путём к интерпретатору

Если Python установлен нестандартно, укажите явный путь вместо env.

Как запустить код в среде разработки (IDE)?

В PyCharm, VS Code, IDLE обычно есть кнопка «Run» (зелёный треугольник) или горячие клавиши (F5, Ctrl+F5). При этом IDE сама вызывает интерпретатор и выводит результат в окно консоли. Этот способ удобен для отладки и больших проектов.

Ошибки конфигурации:

Убедитесь, что выбран правильный интерпретатор (виртуальное окружение) и активный файл содержит исполняемый код.

Как обеспечить корректный запуск скрипта и при импорте?

Используйте конструкцию if __name__ == '__main__':. Код внутри неё выполняется только при прямом запуске:

# test.py
def main():
    print('Запущен как скрипт')

if __name__ == '__main__':
    main()

При импорте import test сообщение не выводится.

Частая ошибка:

Пропуск отступа или опечатка в __name__ (два подчёркивания с обеих сторон).

Расширенные примеры запуска Python

Как запустить скрипт с явным указанием версии?

Пример
# Использование python2 и python3
python2 script.py
python3 script.py

В системах с обеими версиями можно проверить версию через --version:

Пример
python --version
python3 --version
Python 2.7.18
Python 3.9.10

Конфликт имён

В некоторых системах python указывает на Python 2, тогда python3 — единственный способ.

Какие флаги интерпретатора могут упростить работу?

Пример
# Оптимизация (-O) удаляет assert'ы
python -O script.py
# Не создавать .pyc файлы (-B)
python -B script.py
# Не буферизовать вывод (-u)
python -u script.py

Флаг -i после выполнения скрипта переходит в интерактивный режим:

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

Это позволяет проанализировать переменные после завершения.

Как передать аргументы в скрипт?

Аргументы командной строки доступны в sys.argv:

Пример
# args.py
import sys
print('Аргументы:', sys.argv)
Пример
python args.py apple banana
Аргументы: ['args.py', 'apple', 'banana']

Первый элемент — имя скрипта.

Проблема с пробелами в аргументах

Аргумент с пробелом нужно заключать в кавычки: python args.py "привет мир".

Как запустить Python-скрипт из другого скрипта?

Модуль subprocess позволяет выполнить внешнюю команду:

Пример
# runner.py
import subprocess
result = subprocess.run(['python', 'script.py'], capture_output=True, text=True)
print('stdout:', result.stdout)
print('stderr:', result.stderr)
stdout: Привет, мир!
stderr: 

Для более простых случаев используется os.system:

Пример
import os
os.system('python script.py')

Однако subprocess даёт больше контроля.

Ошибки при неверном пути

Убедитесь, что файл script.py существует в рабочем каталоге запускающего скрипта.

Как запустить скрипт в фоне (Linux/macOS)?

Пример
nohup python long_script.py &

Команда nohup игнорирует сигнал SIGHUP, а символ & отправляет процесс в фон. Вывод перенаправляется в nohup.out.

Для перенаправления в конкретный файл:

Пример
python long_script.py > output.log 2>&1 &

Управление фоновыми процессами

После запуска можно использовать jobs и kill %1.

Как запустить Python с виртуальным окружением?

Активируйте окружение и используйте его интерпретатор:

Пример
source venv/bin/activate  # Linux/macOS
venv\Scripts\activate    # Windows
python script.py

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

Без активации можно явно указать путь:

Пример
./venv/bin/python script.py
venv\Scripts\python.exe script.py

Ошибки импорта

Если модули установлены только в окружении, запуск без активации приведёт к ModuleNotFoundError.

Запуск Python - comments

En
Python запуск (python)