所以我在visual studio代码内部使用vscode-remote,但我认为我在使用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虚拟环境以及环境变量。因此,我实际上是在问如何在使用vscode进行调试期间执行相同外壳命令- source $HOME/.enn/enn.sh
我的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"]
}
]
} 另外,由于我在settings.json中为vscode指定了一个pythonPath作为/home/ubuntu/venv/enn/bin/python,因此当作为source /home/ubuntu/venv/enn/bin/activate进行调试时,vscode会调用一个自动命令。我不希望调用它,但我希望在调试或打开新终端时调用命令source $HOME/.enn/enn.sh。我该怎么做?
发布于 2019-06-14 05:35:28
目前还没有在Python调试器下执行shell脚本的方法,因为调试器本身需要启动Python代码本身。如果shell脚本正在激活虚拟环境和环境变量,那么您可以让扩展在调试时代表您执行此操作。
您可以投票给this feature request,以获得您想要的功能。
https://stackoverflow.com/questions/56579150
复制相似问题