Выполнение программ на Python в среде VS Code: практическое руководство
Способы запуска Python-скриптов в VS Code
Как запустить файл одной кнопкой?
Наиболее простой и эффективный вариант для новичков - использовать кнопку Run Python File in Terminal, которая появляется в правом верхнем углу редактора после установки расширения Python от Microsoft. При нажатии этой кнопки VS Code автоматически создаёт временный терминал и выполняет скрипт текущей вкладки.
# hello.py
print('Привет, VS Code!')
name = input('Введите ваше имя: ')
print(f'Рад познакомиться, {name}!')
Vs code как запустить код python (запуск кода python в vs code)
После нажатия кнопки в терминале появится:
Привет, VS Code! Введите ваше имя: Иван Рад познакомиться, Иван!
Данный метод подходит для быстрой проверки простых скриптов без дополнительных настроек. Он автоматически выбирает интерпретатор Python, который указан в нижнем левом углу (строка состояния).
Типичные ошибки:
- Кнопка не отображается - расширение Python не установлено. Необходимо открыть панель расширений (Ctrl+Shift+X) и установить Python от Microsoft.
- Выполнение прерывается с синтаксической ошибкой - проверьте корректность кода, особенно отступы.
- Неверно выбран интерпретатор - в строке состояния выберите нужную версию Python (например, если установлено несколько).
Как выполнить код через встроенный терминал вручную?
Этот вариант даёт полный контроль над процессом: можно передавать аргументы, выбирать окружение, запускать скрипты из любой папки. Откройте термивал (Ctrl+`) и введите команду:
python путь_к_файлу.py
Пример с аргументами:
# greet.py
import sys
print(f'Привет, {sys.argv[1]もし引数が存在すれば}!')
python greet.py Мир
Привет, Мир!
Цель использования: когда нужно передать параметры командной строки, протестировать скрипт в конкретном виртуальном окружении (например, после активации `venv`), или запустить пакет с помощью `python -m package_name`.
Возможные проблемы:
- Команда `python` не найдена - добавьте Python в переменную PATH или используйте полный путь к интерпретатору.
- Кодировка консоли - при выводе кириллицы может отображаться кракозябры. Решение: добавьте в код `sys.stdout.reconfigure(encoding='utf-8')`.
Как выполнить код с отладкой (точки останова)?
Отладка позволяет пошагово просматривать выполнение, смотреть значения переменных и находить ошибки. Поставьте точку останова (щелчок слева от номера строки) и используйте Run and Debug (F5).
# debug_example.py
def calculate(x, y):
result = x + y
return result
a = 10
b = 20
print(calculate(a, b))
После запуска отладки выполнение остановится на строке с точкой останова. Панель Variables покажет текущие значения.
Вариант подходит для сложных проектов, где нужно отследить логику, или для обучения.
Частые ошибки:
- Не создана конфигурация launch.json - при первом запуске отладчика VS Code предложит создать её. Выберите Python File.
- Точка останова не срабатывает - убедитесь, что файл сохранён и отладчик запущен для правильного файла.
Как использовать задачи (tasks.json) для автоматизации запуска?
Задачи позволяют привязать к горячей клавише (Ctrl+Shift+B) произвольную команду, например запуск скрипта с определёнными параметрами или предварительную сборку.
Создайте в папке проекта папку .vscode и файл tasks.json:
{
"version": "2.0.0",
"tasks": [
{
"label": "Run me",
"type": "shell",
"command": "python",
"args": ["${file}", "--verbose"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Теперь при нажатии Ctrl+Shift+B выполнится текущий файл с ключом --verbose.
Цель: автоматизация повторяющихся действий, например запуск проекта с набором флагов, выполнение тестов или линтинга.
Проблемы при настройке:
- Задача не отображается в списке - проверьте синтаксис JSON (запятые, кавычки).
- Команда не выполняется в терминале - укажите правильный путь к Python или используйте ${config:python.pythonPath}.
Как запускать код в интерактивном режиме (Jupyter)?
VS Code поддерживает работу с Jupyter-ноутбуками напрямую. Создайте файл с расширением .ipynb или используйте Python Interactive Window (Ctrl+Shift+P -> Python: Start REPL).
# код в ячейке ноутбука
import pandas as pd
data = pd.DataFrame({'x': [1,2,3], 'y': [4,5,6]})
data.mean()
Результат отображается прямо под ячейкой:
x 2.0 y 5.0 dtype: float64
Вариант полезен для исследовательского анализа данных, прототипирования и обучения.
Типичные неудобства:
- Ядро не запускается - убедитесь, что установлены `jupyter` и `ipykernel` (`pip install jupyter ipykernel`).
- Переменные из разных ячеек не видны - они принадлежат одному ядру, но порядок выполнения должен быть последовательным.
Как выполнить отдельные ячейки кода без ноутбука?
В обычных .py файлах можно размечать ячейки с помощью комментария # %%. Это даёт возможность выполнять блоки кода в отдельном интерактивном окне (Python Interactive Window).
# %%
print('Первая ячейка')
# %%
print('Вторая ячейка')
Чтобы запустить конкретную ячейку, нажмите комбинацию Ctrl+Enter над ней. Результат отобразится в окне Interactive.
Сценарий использования: отладка больших скриптов по частям, выборочное выполнение блоков без перезапуска всего файла.
Возможная путаница:
- Интерактивное окно не открывается - активируйте команду Python: Show Python Interactive Window.
Расширенные примеры выполнения кода Python в VS Code
Запуск с аргументами командной строки и виртуальным окружением
Предположим, у вас есть скрипт config_reader.py, который принимает путь к конфигурационному файлу и выводит настройки. Активируйте виртуальное окружение и запустите с аргументом.
# config_reader.py
import sys
import json
if len(sys.argv) < 2:
print('Укажите путь к файлу конфигурации.')
sys.exit(1)
with open(sys.argv[1], 'r') as f:
config = json.load(f)
print('Настройки загружены:')
for key, value in config.items():
print(f'{key}: {value}')
Команда в терминале (предварительно активировав виртуальное окружение):
# Windows: .\venv\Scripts\activate
# Linux/Mac: source venv/bin/activate
python config_reader.py settings.json
При наличии файла settings.json:
{
"host": "localhost",
"port": 8080
}
Результат:
Настройки загружены: host: localhost port: 8080
Такой способ подходит для утилит командной строки и микросервисов.
Отладка с использованием точек останова и условных выражений
Создайте файл fibonacci.py и поставьте точку останова на условии. В конфигурации launch.json можно задать аргументы.
# fibonacci.py
def fib(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
for i, val in enumerate(fib(10)):
if i == 5: # точка останова
print('Достигнут 5-й элемент')
print(f'{i}: {val}')
Запустите отладку (F5). На панели Variables можно наблюдать i и val. Результат в консоли отладки:
0: 0 1: 1 2: 1 3: 2 4: 3 Достигнут 5-й элемент 5: 5 6: 8 7: 13 8: 21 9: 34
Условная точка останова (правый клик по полю номера строки -> Add Conditional Breakpoint) останавливает выполнение только когда i == 5.
Автоматический запуск тестов с помощью расширения Python
Создайте тестовый файл test_sample.py с использованием unittest. Активируйте тесты через палитру команд (Ctrl+Shift+P -> Python: Configure Tests).
# test_sample.py
import unittest
from mymodule import add
class TestAdd(unittest.TestCase):
def test_positive(self):
self.assertEqual(add(1, 2), 3)
def test_negative(self):
self.assertEqual(add(-1, -1), -2)
if __name__ == '__main__':
unittest.main()
После настройки в левой панели появится иконка колбы, где можно запускать все тесты или отдельные. Результат выводится в терминале:
.. ---------------------------------------------------------------------- Ran 2 tests in 0.001s OK
Запуск тестов через задачу (tasks.json) позволяет интегрировать их в CI-процесс.
Выполнение кода из нескольких файлов с импортами
Структура проекта:
project/
main.py
utils/
__init__.py
helpers.py
Файл helpers.py:
def greet(name):
return f'Hello, {name}!'
Файл main.py:
import sys
sys.path.append('.')
from utils.helpers import greet
print(greet('World'))
Запуск из корня проекта:
python main.py
Результат:
Hello, World!
В терминале VS Code важно, чтобы рабочая директория совпадала с корнем проекта, иначе импорты не сработают. Используйте команду cd перед запуском.
Использование Code Runner для быстрого выполнения выделенного кода
Установите расширение Code Runner. Выделите часть кода и нажмите Ctrl+Alt+N. Например, выделите строки:
scores = [10, 20, 30]
average = sum(scores) / len(scores)
print(average)
Результат появится в окне OUTPUT:
20.0
Этот способ удобен для быстрых экспериментов и отладки небольших фрагментов без создания полного скрипта.