我们在手动安装comfyUI IPAdapter安装之后,很有可能重启之后,仍然无法看到Ipadapter的菜单,而且启动信息窗口也不报错,怎么解决这个问题呢?

解决办法,需要手工修改python 代码:

此时需要改写ComfyUI/custom_nodes/ComfyUI_IPAdapter_plus/__init__.py的代码,这是因为这个代码有遗漏,根本没有加载功能菜单到comfyUI菜单上来

整个修改后/__init__.py的代码如下:

原本这个程序 只有两行代码:

from .IPAdapterPlus import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS

__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS']

修改后完整代码如下:

import sys

import os

repo_dir = os.path.dirname(os.path.realpath(__file__))

sys.path.insert(0, repo_dir)

original_modules = sys.modules.copy()

# Place aside existing modules if using a1111 web ui

modules_used = [

"IPAdapterModelLoader",

"IPAdapterApply",

"IPAdapterApplyEncoded",

"PrepImageForClipVision",

"IPAdapterEncoder",

"IPAdapterSaveEmbeds",

"IPAdapterLoadEmbeds",

]

original_webui_modules = {}

for module in modules_used:

if module in sys.modules:

original_webui_modules[module] = sys.modules.pop(module)

# Proceed with node setup

from .IPAdapterPlus import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS

__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS']

# Clean up imports

# Remove repo directory from path

sys.path.remove(repo_dir)

# Remove any new modules

modules_to_remove = []

for module in sys.modules:

if module not in original_modules:

modules_to_remove.append(module)

for module in modules_to_remove:

del sys.modules[module]

# Restore original modules

sys.modules.update(original_webui_modules)

保存重启,就能看到IPApter的菜单了

编辑于 2023-11-03 15:40・IP 属地上海

GitHub 加速计划 / co / ComfyUI
44.41 K
4.72 K
下载
最强大且模块化的具有图形/节点界面的稳定扩散GUI。
最近提交(Master分支:1 个月前 )
1c08bf35 - 3 个月前
2a02546e * add type hints to folder_paths.py * replace deprecated standard collections type hints * fix type error when using Python 3.8 3 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐