3

所以我在visual studio代码内部人员中使用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 进行调试期间

我的 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. 我不希望调用它,但我希望source $HOME/.enn/enn.sh在调试或打开新终端时调用该命令。我怎么做?

4

1 回答 1

0

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

您可以投票支持此功能请求以获得您想要的功能。

于 2019-06-13T21:35:27.760 回答