You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VSCode调试器的launch.json配置中禁用__pycache__与.pyc文件生成

如何在VSCode调试器的launch.json配置中禁用__pycache__与.pyc文件生成

我明白你的困扰了!直接把-B放在args里确实不管用,因为这个参数是传给Python解释器的,而不是你的Main.py脚本的。咱们来调整下launch.json的配置就能轻松解决这个问题,给你两种可靠的方法:

方法一:使用pythonArgs传递解释器参数

把原来args里的-B移到专门给Python解释器传参的pythonArgs字段中,配置示例如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Run project in Debug Mode",
            "type": "debugpy",
            "request": "launch",
            "program": "Main.py",
            "pythonArgs": ["-B"]
        }
    ]
}

pythonArgs是VSCode Python调试配置里专门用来传递参数给Python解释器的项,这样-B就会被解释器正确接收,直接禁用.pyc文件和__pycache__目录的生成。

方法二:设置环境变量(更稳妥的方式)

你也可以通过设置PYTHONDONTWRITEBYTECODE环境变量来达到同样的效果,这个环境变量的作用和-B参数完全一致,而且有时候更不容易出问题:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Run project in Debug Mode",
            "type": "debugpy",
            "request": "launch",
            "program": "Main.py",
            "env": {
                "PYTHONDONTWRITEBYTECODE": "1"
            }
        }
    ]
}

设置这个环境变量后,Python解释器在启动时会自动禁用字节码文件的生成,不管调试器的启动逻辑有没有变动,这个配置都能稳定生效。

顺便说下你原来配置的问题:之前把-B放在args里,其实是把这个参数传给了Main.py脚本,相当于手动运行python3 Main.py -B,而不是你想要的python3 -B Main.py,这就是为啥没起作用的原因~

备注:内容来源于stack exchange,提问作者BusyChild77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 19:53:12