Запуск Python Debug с аргументами портит путь к файлу

Я использую VSCode в Windows с GitBash в качестве встроенного терминала. Когда я запускаю отладчик Python с конфигурациями по умолчанию, он работает нормально, и на терминале выполняется эта команда:

/usr/bin/env c:\\Users\\augus\\.Apps\\anaconda3\\envs\\muskit-env\\python.exe \
c:\\Users\\augus\\.vscode\\extensions\\ms-python.debugpy-2024.2.0-win32-x64\\bundled\\libs\\debugpy\\adapter/../..\\debugpy\\launcher \
53684 -- E:\\muskit\\QuantumSoftwareTestingTools\\Muskit\\Muskit\\CommandMain.py

Обратите внимание на \\ в пути к файлу. Опять же, вышеописанное работает отлично.

Проблема в том, что я добавляю свойство args в свою конфигурацию launch.json.

launch.json

{
    "configurations": [
        {
            "name": "Python Debugger: Current File with Arguments",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "args": "foo"
        }
    ]
}

На терминале выполняется следующая команда:

$  /usr/bin/env c:\Users\augus\.Apps\anaconda3\envs\muskit-env\python.exe \
c:\Users\augus\.vscode\extensions\ms-python.debugpy-2024.2.0-win32-x64\bundled\libs\debugpy\adapter/../..\debugpy\launcher \
53805 -- E:\muskit\QuantumSoftwareTestingTools\Muskit\Muskit\CommandMain.py foo 
/usr/bin/env: ‘c:Usersaugus.Appsanaconda3envsmuskit-envpython.exe’: No such file or directory

Обратите внимание, что вместо \\. он использует \, что вызывает сообщение «Нет такого файла или каталога».

Это баг или я что-то упускаю?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
3
0
168
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Просматривая проблемы в репозитории vscode-python , во многих проблемах упоминается, что git bash официально не поддерживается. Например здесь:

Примечание. Gitbash не поддерживается расширением Python, поэтому при необходимости используйте «Выбрать профиль по умолчанию», чтобы переключиться на cmd или powershell.

Возможно, это ошибка, и лучше использовать cmd или powershell, так как в будущем вы также можете столкнуться с проблемами.

Некоторые связанные вопросы, в которых упоминается одно и то же

Другие вопросы по теме