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

在WSL2+VSCode环境下全局配置Numba @njit调试环境变量的方法

在WSL2 + VSCode中全局配置Numba调试环境变量(禁用JIT)

.numba_config.yaml不生效通常是因为VSCode运行时的工作目录与配置文件所在目录不一致,或者配置文件优先级低于环境变量。以下是几种全局设置Numba环境变量的可靠方法:

临时生效(当前WSL会话)

  • 打开WSL终端,执行以下命令设置环境变量:
    export NUMBA_DISABLE_JIT=1
    export NUMBA_DEBUG=1
    
  • 从该终端启动VSCode:code .,此时VSCode会继承当前会话的环境变量,调试时Numba会禁用JIT并开启调试模式。

永久全局生效(所有WSL用户)

  • 编辑WSL的全局环境配置文件,比如/etc/profile:
    sudo nano /etc/profile
    
  • 在文件末尾添加两行:
    export NUMBA_DISABLE_JIT=1
    export NUMBA_DEBUG=1
    
  • 保存退出后,执行source /etc/profile使配置立即生效,后续所有WSL会话启动的VSCode都会自动加载这些变量。

仅当前用户永久生效

  • 编辑用户个人的shell配置文件,比如Bash用户编辑~/.bashrc,Zsh用户编辑~/.zshrc:
    nano ~/.bashrc
    
  • 在文件末尾添加同样的环境变量配置,保存后执行source ~/.bashrc,之后当前用户启动的所有WSL会话都会生效。

仅VSCode调试任务生效(推荐,不影响全局环境)

  • 打开VSCode的.vscode/launch.json文件(没有则创建),在调试配置的env字段中添加环境变量:
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Python: Current File",
                "type": "python",
                "request": "launch",
                "program": "${file}",
                "console": "integratedTerminal",
                "env": {
                    "NUMBA_DISABLE_JIT": "1",
                    "NUMBA_DEBUG": "1"
                }
            }
        ]
    }
    
  • 这样每次使用该调试配置启动时,Numba会自动禁用JIT并开启调试,不会影响WSL系统的全局环境。

验证配置是否生效

在你的Python代码中添加以下代码片段,运行后查看输出是否为1:

import os
print("NUMBA_DISABLE_JIT:", os.getenv("NUMBA_DISABLE_JIT"))
print("NUMBA_DEBUG:", os.getenv("NUMBA_DEBUG"))

注意:Numba的环境变量优先级高于.numba_config.yaml配置文件,所以如果之前的yaml配置不生效,用环境变量的方式可以确保覆盖配置。

内容的提问来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 10:33:16