ComfyUI 提示 No module named 'onnx' 或 'onnxruntime':怎麼修
修復 WanVideoWrapper、DWPose、ReActor、IPAdapter FaceID、InstantID、PuLID 等工作流裡的 ONNX 依賴缺失問題。
如果 ComfyUI 日誌裡出現 No module named 'onnx' 或 No module named 'onnxruntime',先別急著裝 GPU 版。
對大多數用戶來說,先安裝 CPU 版 onnxruntime 是更穩的第一步。
典型症狀
啟動日誌裡常見這些信息:
WanVideoWrapper WARNING: FantasyPortrait nodes not available: No module named 'onnx'No module named 'onnxruntime'DWPose: Onnxruntime not found or doesn't come with acceleration providers, switch to OpenCV with CPU device原因
onnx 用來加載 .onnx 模型文件;onnxruntime 是運行這些模型的推理引擎。
很多人把兩者混為一談,但並不是每個工作流都需要同時裝它們。
常見依賴 ONNX 或 ONNX Runtime 的 ComfyUI 節點包括:
- ComfyUI-WanVideoWrapper
- comfyui_controlnet_aux(例如 DWPose)
- ComfyUI-ReActor
- ComfyUI_IPAdapter_plus
- ComfyUI_InstantID
- ComfyUI-PuLID
當這些包缺失時,依賴它們的節點會不可用,但 ComfyUI 本體和其他不相關節點可能仍然正常。
嚴重程度
中等。 如果這只是某個你根本沒在用的可選節點發出的警告,可以先忽略。只有你的工作流真的依賴 ONNX 路線時,才需要修。
安裝前先確認:你用的是對的 Python
| 安裝類型 | 命令模式 |
|---|---|
| 官方 GitHub Windows portable 包 | 在 portable 根目錄執行:.\python_embeded\python.exe -s -m pip ... |
| 手動 Git + venv 安裝 | 激活 venv 後執行:python -m pip ... |
| ComfyUI Desktop 或受管 Launcher | 使用應用自己的環境或終端工具,不要默認 python_embeded 一定存在 |
很多“明明裝了還是報錯”的情況,本質上是把包裝進了 錯誤的 Python 環境。
解決方法
方案 1:先裝 CPU 版
這是大多數用戶最安全的第一步:
python -m pip install onnx onnxruntime官方 Windows portable 包則執行:
.\python_embeded\python.exe -s -m pip install onnx onnxruntime這已經能覆蓋很多場景,例如 DWPose 走 CPU 推理,只是速度會慢一些。
方案 2:確實需要時再裝 GPU 版
如果你有 NVIDIA GPU,而且你的工作流明顯受益於 ONNX Runtime GPU 加速,可以改裝:
python -m pip install onnx onnxruntime-gpu但不要讓 onnxruntime 和 onnxruntime-gpu 同時留在環境裡。
如果你之前已經裝了 CPU 版,先卸掉:
python -m pip uninstall onnxruntime -y
python -m pip install onnxruntime-gpu常見安裝坑
裝了 onnxruntime-gpu 但 GPU 還是不起作用
常見錯誤:
[W:onnxruntime:Default, onnxruntime_pybind_state.cc] LoadLibrary failed with error 126 when trying to load onnxruntime_providers_cuda.dll原因: onnxruntime-gpu 需要的 CUDA / cuDNN 家族和你當前 PyTorch 運行時不一致。
更穩的修法:
- 如果你的工作流不是明顯卡在 ONNX 推理上,先退回 CPU 版
onnxruntime - 只有確實需要 GPU 加速時,再去匹配對應的 CUDA / cuDNN 版本
同時裝了 onnxruntime 和 onnxruntime-gpu
表現: GPU provider 啟不起來,或者行為反覆不穩定。
檢查當前安裝:
python -m pip list | findstr onnxruntime如果兩個都在,保留你真正需要的那一個:
python -m pip uninstall onnxruntime onnxruntime-gpu -y
python -m pip install onnxruntime或者 GPU 路線:
python -m pip uninstall onnxruntime onnxruntime-gpu -y
python -m pip install onnxruntime-gpuprotobuf 衝突
常見錯誤:
TypeError: Descriptors cannot be created directly.這時安裝命令要記得加引號,避免 shell 把 > 當重定向:
python -m pip install "protobuf>=3.20"如何驗證
python -c "import onnxruntime as ort; print(ort.__version__, ort.get_available_providers())"如果 GPU 路線正常,輸出裡應該出現 CUDAExecutionProvider。
如果只有 CPUExecutionProvider,說明當前仍是 CPU 版,或者 GPU provider 沒成功加載。
還沒解決?
把下面這些信息一起收集出來:
python --versionpython -c "import torch; print(torch.__version__, torch.version.cuda)"python -c "import onnxruntime as ort; print(ort.__version__, ort.get_available_providers())"- 完整安裝報錯
如果你要更快恢復,先用 Wonderful Launcher 檢查當前環境、任務日誌和依賴狀態;需要人工協助時再走支持渠道。
參考來源
先按上面的步驟定位根因。還卡住時,可以下載 Wonderful Launcher 檢查目前機器;啟動器原生修復、任務日誌和執行階段檢查會集中在一起。credits 只用於圖片生成和按量工具。
下載 Wonderful Launcher查看 credits 方案這篇文件解決了你的問題嗎?
你的回饋會幫助我們優先補強真實 ComfyUI 排障文件。