comfyui_layerstyle cv2模块坏了修复

Mar 25, 2026

cv2 坏掉的典型表现

比如你这次这种:

  • import cv2 能导入
  • cv2.__file__None,或者显示成 namespace
  • cv2.INTER_CUBICcv2.resize 这类基础属性不存在

这通常说明 OpenCV 没有正常装好,只剩了一个残缺的 cv2 空壳。

正确修法

核心就四步:

1. 用 ComfyUI 自带 Python 卸载所有 OpenCV 相关包

python_embeded\python.exe -s -m pip uninstall -y opencv-python
python_embeded\python.exe -s -m pip uninstall -y opencv-contrib-python
python_embeded\python.exe -s -m pip uninstall -y opencv-python-headless
python_embeded\python.exe -s -m pip uninstall -y opencv-contrib-python-headless

2. 手动删除残留

重点删:

E:\ComfyUI\python_embeded\Lib\site-packages\cv2

还有残留的 opencv_*.dist-info 目录也删掉。

3. 重新安装一个干净版本

python_embeded\python.exe -s -m pip install --no-cache-dir opencv-python==4.10.0.84

4. 立刻验证

python_embeded\python.exe -c "import cv2; print(cv2.__file__); print(cv2.__version__); print(hasattr(cv2,'INTER_CUBIC')); print(cv2.INTER_CUBIC)"

正常结果应该是:

  • __file__ 指向 site-packages\cv2\__init__.py
  • __version__ 正常
  • hasattr(..., 'INTER_CUBIC')True
  • cv2.INTER_CUBIC 能输出数值

一句话结论

cv2 坏了,本质上就是卸干净、删残留、重装、再验证。

你这次的根因

你原来的 cv2 是个坏掉的 namespace 包,不是真正的 OpenCV 模块,所以才会报:

AttributeError: module 'cv2' has no attribute 'INTER_CUBIC'

后来你重装后已经恢复正常了。

最精简记忆版

以后再遇到,直接记这个:

卸载 opencv 相关包
→ 删除 site-packages\cv2 残留
→ 重装 opencv-python
→ 用 INTER_CUBIC 测试

cc