社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何在vscode中的非python调试会话期间临时激活virtualenv?

seairth • 4 年前 • 280 次点击  

所以…你知道当你向另一个人解释你的问题,突然得到答案的时候吗?这是其中一次。下面是我最初的帖子,离提交只有几分钟的时间,那时我有了一个解决问题的想法!继续阅读…


我正在做一个基于电子的项目,我在vscode中调试它。部分代码生成了用Python编写的几个外部服务。这些服务刚从python 2.7迁移到python 3.7,为此我设置了一个virtualenv(我在Ubuntu 16上工作,那里仍然需要2.7,所以我不愿重新映射 python pip 更新版本)。

问题是,我需要一种在调试会话开始时激活virtualenv的方法,就像电子在bash shell中启动一样(我在.bashrc中激活virtualenv)。所以我的问题是:如何在调试会话期间激活virtualenv?

为了完整起见,下面是我当前的启动配置:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Electron Shell",
            "cwd": "${workspaceFolder}/dist",
            "runtimeExecutable": "${workspaceFolder}/dist/node_modules/electron/dist/electron",
            "runtimeArgs": ["app.js", "--remote-debugging-port=9222"],
            "protocol": "inspector",
        },
        {
            "type": "chrome",
            "request": "attach",
            "name": "Attach to Electron Shell",
            "port": 9222,
            "webRoot": "${workspaceFolder}/src",
            "timeout": 30000
        }
    ],
    "compounds": [
        {
            "name": "Debug Angular In Electron Shell",
            "configurations": [
                "Attach to Electron Shell",
                "Launch Electron Shell",
            ]
        }
    ]
}

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38380
 
280 次点击  
文章 [ 1 ]  |  最新文章 4 年前
seairth
Reply   •   1 楼
seairth    4 年前

答案是,事实证明只是做 activate 脚本正在执行:修改 PATH 和未设置 PYTHONHOME . 就像这样:

        {
            "type": "node",
            "request": "launch",
            "name": "Launch Electron Shell",
            "cwd": "${workspaceFolder}/dist",
            "runtimeExecutable": "${workspaceFolder}/dist/node_modules/electron/dist/electron",
            "runtimeArgs": ["app.js", "--remote-debugging-port=9222"],
            "protocol": "inspector",
            "env": {
                "PATH": "/path/to/virtualenv/folder/bin:${env:PATH}",
                "PYTHONHOME": null
            }
        },