Отладка пакета Poetry в VS Code правильный запуск и настройки json

#debugging #visual-studio-code #python-poetry

#отладка #visual-studio-code #python-поэзия

Вопрос:

Я создаю пакет с использованием poetry и создал свое имя пакета и venv. Использование poetry new package-name

Из командной строки я могу запустить poetry run package-name --flags , и он запустит мой cli.py и ссылки на соответствующий импорт и т.д.

Мой cli.py имеет from package-name import module . Все работает.

Однако в VS Code я пытаюсь заставить его выполнить ^^ эту команду из интерфейса отладчика, объявляющего соответствующие параметры в json launch и settings.

Я думал, что это будет что-то вроде

 {
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${workspaceRoot}/package-name/cli.py",
            "args": [
                "removeuser",
                "--ini",
                "../../ini/test.ini"
            ],
            "console": "integratedTerminal"
        }
    ]
}
 

но это не работает. Есть идеи о том, какова правильная конфигурация?

Заранее спасибо.

Комментарии:

1. вы смотрели на cwd параметр конфигурации запуска

2. Привет, вы нашли какое-либо решение этой проблемы, так как вы разместили его здесь?

3. Я не боюсь, я начал использовать vim spector, но все еще не могу получить соответствующую конфигурацию

Ответ №1:

Я думаю, вам нужно что-то вроде этого:

     {
                "name": "Python: Poetry CLI application",
                "type": "python",
                "request": "launch",
                "module": "poetry",
                "args": [
                    "run",
                    "package-name",
                    "removeuser",
                    "--ini",
                    "../../ini/test.ini"
                ],
                "console": "integratedTerminal"
}
 

Я делаю что-то подобное и нигде не нашел лучшего решения

Комментарии:

1. К сожалению, там просто написано: /bin/python: No module named poetry Running it with my module name instead says: /bin/python: нет модуля с именем mycli.__main__; ‘mycli’ является пакетом и не может быть выполнен напрямую `