Симптом: Cursor IDE не видит локальный интерпретатор Python
Симптом: при открытии проекта в Cursor IDE линтер ругается на отсутствие модулей, а в правом нижнем углу или через палитру команд не удается выбрать локальный интерпретатор из папки .venv.
Поведение воспроизводится при открытии нового воркспейса на базе стандартного модуля venv или Poetry без явно прописанных путей в конфигурации рабочей зоны.
- Ошибка импорта модулей в редакторе при рабочем терминале.
- Отсутствие папки .venv в списке предлагаемых интерпретаторов.
- Использование глобального системного Python вместо изолированного окружения.
Причина сбоя: расхождение путей в settings.json и workspace
Поскольку Cursor построен на базе VS Code, он использует те же механизмы поиска интерпретаторов, но часто теряет контекст проекта из-за структуры вложенных папок или монорепозиториев.
Если в настройках воркспейса жестко не зафиксирован путь к исполняемому файлу python, сканер окружения падает по таймауту или берет дефолтную системную версию.
- Отсутствие файла settings.json в директории .vscode.
- Неверный путь к бинарнику в ОС Windows (Scripts вместо bin).
- Конфликт между глобальным Poetry и локальным venv.
Фиксим через ручную правку settings.json
Чтобы принудительно указать редактору нужный интерпретатор, нужно прописать абсолютный или относительный путь к исполняемому файлу в конфигурационном файле проекта.
Создайте или откройте файл .vscode/settings.json в корне вашего репозитория и добавьте параметр python.defaultInterpreterPath.
- Для Linux и macOS путь выглядит как .venv/bin/python.
- Для Windows путь выглядит как .venv\Scripts\python.exe.
- Пример строки: «python.defaultInterpreterPath»: «./.venv/bin/python».
Интеграция с Poetry в Cursor IDE
Если проект управляется через Poetry, стандартный поиск venv внутри проекта может не сработать, так складывает виртуальные окружения в системный каталог кеша.
Нужно узнать точный путь к виртуальному окружению командой poetry env info --path и подставить его в настройки воркспейса.
- Выполнить в терминале команду poetry run which python или poetry env info.
- Скопировать полученный путь.
- Вставить путь в python.defaultInterpreterPath внутри settings.json.
Проверка результата и безопасный откат
После сохранения файла settings.json перезапустите окно редактора через палитру команд: Developer: Reload Window.
Если редактор начал подсвечивать импорты корректно и в строке состояния отображается версия из .venv, настройка прошла успешно.
- Убедитесь, что файл settings.json не содержит синтаксических ошибок в JSON.
- При возникновении проблем просто удалите добавленные строки из settings.json для возврата к автоопределению.
Источники
Cursor Documentation: Python Environment: https://docs.cursor.com/Visual Studio Code Documentation: Python environments: https://code.visualstudio.com/docs/python/environments