VS Code - запустить конфигурацию отладки для console_script в модульном режиме - PullRequest
1 голос
/ 09 мая 2020

Мой setup.py имеет следующие console_scripts в качестве точек входа:

entry_points={
        'console_scripts': ['script=myapp.app:do_something',
                            'script2=myapp.app:do_something2'],
    },

со следующей структурой

.
├── myapp
│   ├── __init__.py
│   ├── app.py
│   ├── mod.py
│   ├── mod2.py
│   └── submodules
│   ├── __init__.py
│   └── mod3.py
├── requirements.txt
└── setup.py

и приложение выглядит как

##my_app.app

def do_something():
  #do stuff
def do_something2():
  #do other stuff

Как я могу получить конфигурацию отладки кода VS для ввода в эти атрибуты модуля. У меня есть это, что может запускать модуль, если я использую if __name__ == "__main__": do_something(), но хочу отдельный запуск. json файлов в зависимости от console_scripts

##launch.json
{
  "configurations": [
    {
      "name": "Python: Module",
      "type": "python",
      "request": "launch",
      "cwd": "${workspaceFolder}",
      "module": "myapp.app",
      "args": ["--hello world"]
    }
  ]
}

Думал, вы могли бы сделать simlar с:

  "module": "myapp.app:do_something",

но увы:

No module named myapp.app:do_something

1 Ответ

1 голос
/ 12 мая 2020

В настоящее время нет способа заставить эту работу работать. Как минимум, вам нужен отдельный модуль для каждой точки входа или один модуль, который принимает аргумент командной строки, который затем выбирает, какую функцию вызывать.

...