如何使用VSCODE进行调试时执行设置Python虚拟环境的shell脚本(我需要对launch.json进行哪些更改)



所以我在Visual Studio Code Insiders中使用vscode-remote,但我认为我在vscode-python扩展中面临的问题。

所以我正在尝试调试一个 python 文件. 所以文件的正常执行如下:

我使用以下命令启用或激活虚拟环境:

source $HOME/.enn/enn.sh

但是我在shell文件中可以看到的虚拟环境的路径是:/home/ubuntu/venv/enn和pythonPath是/home/ubuntu/venv/enn/bin/python

所以它是一个shell文件,它激活相关的虚拟环境并设置环境变量,如export DOMAIN_ENDPOINT=http://s3.us-west-2.amazonaws.com等。

然后我cd到相关目录并执行python命令:

python session_server.py --config_file=../path/to/file/test_config.hocon

这行得通.

但是当我尝试调试时,它开始出现导入错误。 所以我认为在调试模式下,环境变量没有设置,也没有激活 python 虚拟环境。如何设置要设置的python虚拟环境以及环境变量也设置。所以我本质上要问的是如何执行相同的 shell 命令 -source $HOME/.enn/enn.sh在使用 vscode 调试期间

我的启动.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"]

}
]
} 

而且由于我在 settings.json 中为 vs/home/ubuntu/venv/enn/bin/pythoncode 指定了一个 pythonPath,因此在调试时 vscode 会调用一个自动命令source /home/ubuntu/venv/enn/bin/activate.我不希望调用它,但我希望在调试或打开新终端时调用命令source $HOME/.enn/enn.sh。我该怎么做?

目前没有办法在 Python 调试器下执行 shell 脚本,因为调试器本身需要启动 Python 代码本身。如果 shell 脚本正在激活虚拟环境和环境变量,则可以让扩展在调试时代表您执行此操作。

您可以为此功能请求投票以获得所需的功能。

相关内容

  • 没有找到相关文章

最新更新