Изменить рабочий порт фляги в отладчике VScode

У меня есть приложение flask, работающее на порту 8000, потому что у меня есть logstash, работающий на порту 5000.

app.run(debug=True, host='0.0.0.0', port=8000)

я могу успешно запустить свое приложение. но когда я использую отладчик VScode, он выдает

OSError: [Errno 98] Адрес уже используется

потому что отладчик пытается запустить мое приложение на порту 5000. Я попытался отредактировать .vscode/launch.json и установить "port": 8000 внутри configurations, но ошибка все та же. как я могу сказать VScode запустить мое приложение с отладчиком на другом порту?


person Sina    schedule 16.07.2019    source источник
comment
code.visualstudio.com/docs/python/   -  person abdusco    schedule 16.07.2019
comment
@абдуско тай. "args" : ["--port", "8000"] сделал свое дело.   -  person Sina    schedule 16.07.2019


Ответы (1)


Добавьте ключ args в конфигурацию отладки и укажите там порт:

https://code.visualstudio.com/docs/python/debugging#_set-configuration-options

{
    "name": "Python: startup.py",
    "type": "python",
    "request": "launch",
    "program": "${workspaceFolder}/startup.py",
    "args" : ["run", "--port", "8000"]
}
person abdusco    schedule 16.07.2019
comment
Есть ли способ сделать это программно для Python: текущий файл? Например, для startup.py сделать порт 5050, для foo.py сделать порт 6060? - person Chris A; 02.02.2021
comment
Кажется возможным. Вы можете использовать program: ${file} для запуска текущего файла, а затем использовать пользовательскую входную переменную для создания случайного порта (python -c 'import random; print(random.randint(4000, 5000))'). См.: code.visualstudio.com/docs/editor/. - person abdusco; 03.02.2021