Так что я использую vscode-remote в инсайдерах Visual Studio Code, но я думаю, что проблема, с которой я сталкиваюсь, с расширением vscode-python.
Итак, я пытаюсь отладить файл Python.
Таким образом, нормальное выполнение файла выглядит следующим образом:
я включаю или активирую виртуальную среду с помощью следующей команды:
source $HOME/.enn/enn.sh
но путь к виртуальной среде, как я вижу в файле оболочки: /home/ubuntu/venv/enn
, а pythonPath /home/ubuntu/venv/enn/bin/python
Таким образом, это файл оболочки, который активирует соответствующую виртуальную среду и устанавливает переменные среды, такие как export DOMAIN_ENDPOINT=http://s3.us-west-2.amazonaws.com
и т. Д.
Итак, я захожу в соответствующий каталог и выполняю команду python:
python session_server.py --config_file=../path/to/file/test_config.hocon
И это работает.
Но когда я пытаюсь отладить, он начинает выдавать ошибки импорта.
Так что я думаю, что в режиме отладки переменные среды не установлены и виртуальная среда Python не активирована. Как настроить виртуальную среду Python для настройки и настройки переменных среды. Поэтому я по сути спрашиваю, как выполнить ту же команду оболочки - source $HOME/.enn/enn.sh
во время отладки с помощью vscode
мой launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: ennsession_server",
"type": "python",
"request": "launch",
"program": "/home/ubuntu/path/to/file/session_server.py",
"console": "integratedTerminal",
"pythonPath" : "/home/ubuntu/venv/enn/bin/python",
"cwd" : "/home/ubuntu/path/to/directory/experiment",
"args": ["--config_file=../path/to/file/test_config.hocon"]
}
]
}
А также, поскольку я указал pythonPath в settings.json для vscode как /home/ubuntu/venv/enn/bin/python
, так что vscode вызывает автоматическую команду при отладке как source /home/ubuntu/venv/enn/bin/activate
. Я не хочу, чтобы это вызывалось, но я хочу, чтобы команда source $HOME/.enn/enn.sh
вызывалась при отладке или открытии нового терминала. Как мне это сделать?