Решение ошибки "pipenv не распознан" в Visual Studio Code

При установке пакетов через pipenv в Visual Studio Code может возникать ошибка, указывающая на то, что система не распознает команду pipenv. Сообщение об ошибке обычно выглядит следующим образом:

pipenv : Имя "pipenv" не распознано как имя командлета, функции, файла сценария или выполняемой программы.

Проблема сохраняется даже после ручного указания пути к исполняемому файлу Pipenv.exe.

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

Данная ошибка обычно возникает из-за одной из следующих причин:

  • pipenv не установлен глобально - инструмент отсутствует в системных переменных PATH
  • Проблемы с окружением VS Code - среда разработки использует неправильный интерпретатор Python или оболочку
  • Конфликт версий Python - несколько установленных версий Python могут создавать конфликты
  • Требуется перезагрузка среды - изменения в переменных окружения не применены

Пошаговое решение

Для устранения проблемы выполните следующие действия:

  1. Проверьте глобальную установку pipenv
    Откройте командную строку или PowerShell вне VS Code и выполните:
    pip install pipenv
    Убедитесь, что установка завершилась успешно.
  2. Добавьте pipenv в PATH
    Найдите путь к папке Scripts вашего Python (обычно C:\Users\[User]\AppData\Local\Programs\Python\Python[версия]\Scripts) и добавьте его в системную переменную PATH.
  3. Настройте терминал VS Code
    В VS Code откройте настройки (Ctrl+,) и проверьте параметр terminal.integrated.shell.windows. Попробуйте сменить оболочку на Command Prompt или PowerShell.
  4. Выберите правильный интерпретатор Python
    В VS Code нажмите Ctrl+Shift+P, введите "Python: Select Interpreter" и выберите версию Python, в которую установлен pipenv.
  5. Перезапустите VS Code
    Полностью закройте и снова откройте VS Code, чтобы изменения вступили в силу.

После выполнения этих шагов команда pipenv install django должна выполняться без ошибок. Если проблема сохраняется, проверьте корректность установки Python и отсутствие конфликтов между разными менеджерами пакетов.