Visual Studio Code не может установить пути переменных env до отладки файла python - PullRequest
1 голос
/ 16 апреля 2020

У меня есть python проект, который мне нужно отладить

Он поставляется с собственной установкой python, скажем, в c:\project\python.exe и библиотеками, расположенными в c:\project\libraries\..

Он запускается с файлом cmd C:\project\start.cmd

Файл cmd выполняет другой файл с именем c:\projects\setenv.cmd, который задает пути к каждой библиотеке, пока открыто приглашение

Я пытаюсь повторить это функциональные возможности в Visual Studio Code

Я создал рабочее пространство и настроил его так, чтобы в папке рабочего пространства .vscode находились следующие файлы:

settings. json

{
    "python.pythonPath": "C:\\project\\python.exe"
}

запуск. json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "preLaunchTask": "shellCommand",
            "console": "integratedTerminal"
        }
    ]
}

задач. json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "shellCommand",
            "command": "C:\\project\\set_env.cmd ; pause",
            "type": "shell"
        }
    ]
}

Когда я открываю файл main.py, который start.cmd выполняется после setenv.cmd, и начать отладку,

Я вижу, что задача shellCommand выполняется и setenv.cmd выполняется из-за оператора pause.

Вывод, который я получаю ниже:

C:\project>SET PYTHONPATH=C:\project\libraries\camera;C:\project\libraries\exewrappers
Press Enter to continue...:

Однако файл main.py аварийно завершает работу при первом импорте библиотеки, который он не может найти

Путь к библиотеке правильный, b но кажется, что Visual Studio Code забывает переменную Path после выполнения setenv.cmd

Как я могу сделать так, чтобы переменные env, установленные setenv.cmd, все еще запоминались при отладке main.py файл

...