繁体   English   中英

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

[英]how to execute a shell script which sets up the python virtual environment when debugging with vscode ( What changes do i need to make to launch.json)

所以我在视觉工作室代码内部人员中使用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等。

那么我进入相关目录并执行python命令:

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

这很有效。

但是,当我尝试调试时,它开始给出导入错误。 所以我认为在调试模式下环境变量没有设置,也没有激活python虚拟环境。 如何设置要设置的python虚拟环境以及设置环境变量。 所以我基本上要问的是如何执行相同的shell命令 - 在使用vscode进行调试时使用source $HOME/.enn/enn.sh 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 我怎么做?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM