TinyTerra / ComfyUI_tinyterraNodes

A selection of nodes for Stable Diffusion ComfyUI
GNU General Public License v3.0
376 stars 41 forks source link

"Prompt has no properly connected outputs Parsing error" while running the workflow json #1

Closed Natotela closed 1 year ago

Natotela commented 1 year ago

any notions what is missing? only changed the model + vae to fit my paths

TinyTerra commented 1 year ago

Thanks for pointing this out.. I've made some changes to the pipeKSampler since I made the workflow json, so it is loading them with the old layout.

If you do a git pull now, I've updated the workflow json and it shouldn't give you any issues now.

Natotela commented 1 year ago

Thanks master! next on our debug questionnaire ;-) Queuing the prompt starts with

got prompt
Traceback (most recent call last):
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 368, in validate_prompt
    m = validate_inputs(prompt, o, validated)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 314, in validate_inputs
    r = validate_inputs(prompt, o_id, validated)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 312, in validate_inputs
    if r[val[1]] != type_input:
IndexError: string index out of range

which doesn't stop the process, alas later on when we reach the imageRemBG, it gets cancelled

Failed to validate prompt for output 135 Parsing error
output will be ignored
Traceback (most recent call last):
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 257, in execute
    recursive_execute(self.server, prompt, self.outputs, x, extra_data, executed, prompt_id, self.outputs_ui)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 120, in recursive_execute
    recursive_execute(server, prompt, outputs, input_unique_id, extra_data, executed, prompt_id, outputs_ui)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 120, in recursive_execute
    recursive_execute(server, prompt, outputs, input_unique_id, extra_data, executed, prompt_id, outputs_ui)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 120, in recursive_execute
    recursive_execute(server, prompt, outputs, input_unique_id, extra_data, executed, prompt_id, outputs_ui)
  [Previous line repeated 1 more time]
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 128, in recursive_execute
    output_data, output_ui = get_output_data(obj, input_data_all)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 75, in get_output_data
    return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 68, in map_node_over_list
    results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
TypeError: ttN_imageREMBG.remove_background() got multiple values for argument 'error'

when I add manually add the ttn imageRemBG node it lacks any connectors (no in nor out), and writes a default
"RemBG is not installed", "https://github.com/danielgatis/rembg"

temp fix is sending the 2nd pipKsampler's image to Image to Mask node + directly to the sequential Image OverLay node.

TinyTerra commented 1 year ago

RemBG hasn't installed properly.. or Isn't being found. Can you try manually installing it and see if that helps? navigate to the

....\Comfy\python_embeded\Lib\site-packages

folder in cmd, and run

"../../python.exe" -m pip install rembg[gpu]

Natotela commented 1 year ago

not sure if FN16-ComfyUI-nodes is related but same rembg theme, as I load comfyUI:

Traceback (most recent call last):
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1304, in load_custom_node
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 879, in exec_module
  File "<frozen importlib._bootstrap_external>", line 1016, in get_code
  File "<frozen importlib._bootstrap_external>", line 1073, in get_data
FileNotFoundError: [Errno 2] No such file or directory: 'F:\\NewProgz\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\FN16-ComfyUI-nodes\\__init__.py'

Cannot import F:\NewProgz\ComfyUI_windows_portable\ComfyUI\custom_nodes\FN16-ComfyUI-nodes module for custom nodes: [Errno 2] No such file or directory: 'F:\\NewProgz\\ComfyUI_windows_portable\\ComfyUI\\custom_nodes\\FN16-ComfyUI-nodes\\__init__.py'
Traceback (most recent call last):
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1304, in load_custom_node
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\custom_nodes\rembg-comfyui-node\__init__.py", line 1, in <module>
    from rembg import remove
ModuleNotFoundError: No module named 'rembg'

"../../python.exe" -m pip install rembg[gpu]

still giving out

Traceback (most recent call last):
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 257, in execute
    recursive_execute(self.server, prompt, self.outputs, x, extra_data, executed, prompt_id, self.outputs_ui)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 120, in recursive_execute
    recursive_execute(server, prompt, outputs, input_unique_id, extra_data, executed, prompt_id, outputs_ui)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 120, in recursive_execute
    recursive_execute(server, prompt, outputs, input_unique_id, extra_data, executed, prompt_id, outputs_ui)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 120, in recursive_execute
    recursive_execute(server, prompt, outputs, input_unique_id, extra_data, executed, prompt_id, outputs_ui)
  [Previous line repeated 1 more time]
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 128, in recursive_execute
    output_data, output_ui = get_output_data(obj, input_data_all)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 75, in get_output_data
    return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 68, in map_node_over_list
    results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
TypeError: ttN_imageREMBG.remove_background() got multiple values for argument 'error'
TinyTerra commented 1 year ago

seems to be an issue with comfy not being able to find the rembg module. if it is breaking FN16-ComfyUI-nodes as well. out of curiosity, what version of python do you have the python_embeded folder?

Natotela commented 1 year ago

StandAlone comfyUI version

F:\newprogz\comfyui_windows_portable> .\python_embeded\python.exe -V
Python 3.10.9
TinyTerra commented 1 year ago

when you run pip install rembg, are it and all of its dependencies installed inside the comfy python_embeded venv?

Natotela commented 1 year ago

interesting, it found it on the system's site-packages, but it wasn't in the stand-alone dir I wonder why it installs it on the system-wide's python. Perhaps I shouldn't work in a standalone version

TinyTerra commented 1 year ago

rembg seems to be the main contributing factor.. I'm not too sure why it struggles to install correctly.

Maybe try uninstalling it from the system-wide packages, and re-run comfy

Natotela commented 1 year ago

I tried copying rembg from appdata\roaming\python\python310\site-packages\ to comfyui_windows_portable\python_embeded\lib\site-packages\ then it gave an error of no module found each time I ran comfy, and I copied the same each missing module. CURRENTLY - the imageRemBG node is actually working (as in doesn't send me to install the rembg link) But, when I prompt I get this:

Traceback (most recent call last):
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 257, in execute
    recursive_execute(self.server, prompt, self.outputs, x, extra_data, executed, prompt_id, self.outputs_ui)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 128, in recursive_execute
    output_data, output_ui = get_output_data(obj, input_data_all)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 75, in get_output_data
    return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\execution.py", line 68, in map_node_over_list
    results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_tinyterraNodes\tinyterraNodes.py", line 521, in sample
    results = save_images(self, images, preview_prefix, save_prefix, image_output, prompt, extra_pnginfo)
  File "F:\NewProgz\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_tinyterraNodes\tinyterraNodes.py", line 318, in save_images
    full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, output_dir, images[0].shape[1], images[0].shape[0])
AttributeError: module 'folder_paths' has no attribute 'get_save_image_path'
TinyTerra commented 1 year ago

the get_save_image_path function was added to the folder_paths.py (from the base comfy app) three days ago i think.. so updating comfy should resolve that one

Natotela commented 1 year ago

Everything works ! all it took was a little bit frustration and a little more resilience, thanks a lot! keep up rocking!

TinyTerra commented 1 year ago

Always the way :p Glad its working now!