ModelSurge / sd-webui-comfyui

An extension to integrate ComfyUI workflows into the Webui's pipeline
MIT License
516 stars 32 forks source link

ModuleNotFoundError:No module named 'folder_paths' #198

Open ziziguai opened 10 months ago

ziziguai commented 10 months ago

i get this error on webui-1.7, File "D:\sd-webui-aki\sd-webui-aki-v4.1\extensions\sd-webui-comfyui\lib_comfyui\comfyui\pre_main.py", line 98, in main() File "D:\sd-webui-aki\sd-webui-aki-v4.1\extensions\sd-webui-comfyui\lib_comfyui\ipc__init.py", line 41, in wrapper return function(*args, *kwargs) File "D:\sd-webui-aki\sd-webui-aki-v4.1\extensions\sd-webui-comfyui\lib_comfyui\comfyui\pre_main.py", line 43, in main patch_comfyui() File "D:\sd-webui-aki\sd-webui-aki-v4.1\extensions\sd-webui-comfyui\lib_comfyui\ipc__init__.py", line 41, in wrapper return function(args, **kwargs) File "D:\sd-webui-aki\sd-webui-aki-v4.1\extensions\sd-webui-comfyui\lib_comfyui\comfyui\pre_main.py", line 84, in patch_comfyui paths.share_webui_folder_paths() File "D:\sd-webui-aki\sd-webui-aki-v4.1\extensions\sd-webui-comfyui\lib_comfyui\ipc\init__.py", line 41, in wrapper return function(*args, **kwargs) File "D:\sd-webui-aki\sd-webui-aki-v4.1\extensions\sd-webui-comfyui\lib_comfyui\webui\paths.py", line 9, in share_webui_folder_paths from folder_paths import add_model_folder_path ModuleNotFoundError: No module named 'folder_paths'

PladsElsker commented 10 months ago

related: #149

PladsElsker commented 10 months ago

I would suggest trying to install ComfyUI manually, making sure it works on its own with its own separate venv, and then linking it in the Webui settings for sd-webui-comfyui.

Does your ComfyUI install work at all on its own?

silveroxides commented 10 months ago

I would suggest trying to install ComfyUI manually, making sure it works on its own with its own separate venv, and then linking it in the Webui settings for sd-webui-comfyui.

Does your ComfyUI install work at all on its own?

I have a hard time understanding why comfyUI should have it's own venv. Isn't the whole point of it being an extension within automatic1111 so it can share the same resources as the main webui uses?

PladsElsker commented 10 months ago

I would suggest trying to install ComfyUI manually, making sure it works on its own with its own separate venv, and then linking it in the Webui settings for sd-webui-comfyui.

Does your ComfyUI install work at all on its own?

I have a hard time understanding why comfyUI should have it's own venv. Isn't the whole point of it being an extension within automatic1111 so it can share the same resources as the main webui uses?

Because we did that at first, and we realized that the 2 venvs are incompatible (can't be merged into 1). Some ComfyUI nodes require packages that conflict with the Webui's venv, and it was a mess.

We had a couple of issues opened that we couldn't fix because of package conflicts.

PladsElsker commented 10 months ago

Maybe it should be a setting? I think we talked about using a separate venv as an option in the settings at some point, but forgot about it later on.

silveroxides commented 10 months ago

Maybe it should be a setting? I think we talked about using a separate venv as an option in the settings at some point, but forgot about it later on.

What about symlinking a separate portable install? Would that perhapt be possible? Because not even my sd-webui uses venv cause that is the portable version with similar structure as the portable comfyui

path-to-sd-webui
  "ParametersExamples"
  "system" 'Portable env with python'
  "webui" 'webui directory'
  "run.bat" 'starting batch script'
  "update.bat" 'update batch script'
  "environment.bat" 'batch script equivalent to "venv/Scripts/activate"'
PladsElsker commented 10 months ago

Hm that's interesting. If you have 2 separate portable versions (Webui AND ComfyUI), it should work just fine. If I understand correctly, this is the same as having 2 separate venvs, but as portable installations.

The comfyui launcher of the extension looks for 2 paths:

This means that if you have a portable version of ComfyUI, it should be able to use the 2nd (2) python executable path and use it to launch ComfyUI.

I think this conversation should be continued in #206, because I don't think it's related to OP's problem. Some people seem to not be able to install ComfyUI using our custom install script in the tab, and we don't know why (could also be a syspath issue).

ljleb commented 10 months ago

I suspect the reason is directory permissions by the way. Not totally sure, but it's a track to investigate I think.