如何在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
相关产品推荐
相关产品推荐

