Open sparky4 opened 1 year ago
i use Debian 12 and Python 3.11
I think ComfyUI is for Python 3.10, that's what it ships under for the portable. I don't have a Debian distro available to test on but it looks like an issue with scipy.
See this topic regarding your error: https://github.com/scipy/scipy/issues/16784
Maybe try the installation steps provided at the end, may work for your distro as well, I don't see anything specifically "raspberry pi" about the packages.
okay~ b
Commenting here instead of a new ticket because I think I'm experiencing the same root issue.
Was getting a similar (but mostly different) error when trying to install scipy via the requirements.txt, and cherrypicking this out of it:
../../scipy/meson.build:130:0: ERROR: Dependency "OpenBLAS" not found, tried pkgconfig and cmake
I see it's the same root issue as what the person in that comment WASasquatch mentions fixing on their Pi, from that scipy issue. So installing the package (for Artix, its not blas64-openblas
but just blas-openblas
I guess), and re-trying the install. Notably I guess these existing packages weren't good enough, lol.
$ sudo pacman -S blas-openblas
resolving dependencies...
looking for conflicting packages...
:: blas-openblas and blas are in conflict. Remove blas? [y/N] y
:: blas-openblas and cblas are in conflict. Remove cblas? [y/N] y
:: blas-openblas and lapack are in conflict. Remove lapack? [y/N] y
(Of note, the installation docs for Scipy seems to think openblas
provides "libatlas-base-dev
", to get ahead of that potential question I also had.)
Still fails to install via requirements.txt
, but now I'm getting the same error as OP.
fwiw I already do have scipy 1.10.1 installed
$ python -m pip freeze | grep sci
scikit-image==0.20.0
scipy==1.10.1
$ python -m pip install scipy
Requirement already satisfied: scipy in /home/user/Work/StableDiffusion/ComfyUI/venv/lib/python3.11/site-packages (1.10.1)
Requirement already satisfied: numpy<1.27.0,>=1.19.5 in /home/user/Work/StableDiffusion/ComfyUI/venv/lib/python3.11/site-packages (from scipy) (1.23.5)
So I'm kinda confused what the actual problem is.
Full error log: https://paste.ee/p/psPUt (I think the copy/paste for this got a little wonk, but it's basically all here) pip freeze: https://paste.ee/p/IGihX
I think ComfyUI is for Python 3.10,
fwiw @WASasquatch, I asked comfyanonymous and he says there is no 3.10 target and uses 3.11 himself. I've been using 3.11 for a while with your stuff as well (without ever even knowing there was a 3.10/3.11 issue).
For posterity, I was getting this error in UI when using a CLIPTextEncode (BlenderNeko Advanced + NSP)
node. (WAS reported it loaded fine during ComfyUI startup btw, despite me previously ignoring the scipy issue)
WAS Node Suite: CLIPTextEncode Prased Prompt:
<proompt omit'd>
WAS Node Suite Warning: It doesn't seem ComfyUI_ADV_CLIP_emb is up to date. Falling back to legacy method.
!!! Exception during processing !!!
Traceback (most recent call last):
File "/home/user/Work/StableDiffusion/ComfyUI/execution.py", line 145, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Work/StableDiffusion/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 "/home/user/Work/StableDiffusion/ComfyUI/execution.py", line 68, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/Work/StableDiffusion/ComfyUI/custom_nodes/was-node-suite-comfyui/WAS_Node_Suite.py", line 12692, in encode
return ([[res[0][0][0], {}]], new_text, text, { "ui": { "string": new_text } } )
^^^
NameError: name 'res' is not defined
I'm wildly guessing that the installation stuff is the root issue, but maybe there's another cause. I get this error when using the "Load Default" layout, and replacing one of the CLIP Text Encoders
with the WAS version.
I can open a new issue if you think it's unrelated, WASasquatch
(Also, re "WAS Node Suite Warning: It doesn't seem ComfyUI_ADV_CLIP_emb is up to date.
", there are no new upstream commits to pull down. I'm on commit e17c01fd3c48060b645f47cdb0c4f63806a997d7 )
Commenting here instead of a new ticket because I think I'm experiencing the same root issue.
Was getting a similar (but mostly different) error when trying to install scipy via the requirements.txt, and cherrypicking this out of it:
../../scipy/meson.build:130:0: ERROR: Dependency "OpenBLAS" not found, tried pkgconfig and cmake
I see it's the same root issue as what the person in that comment WASasquatch mentions fixing on their Pi, from that scipy issue. So installing the package (for Artix, its not
blas64-openblas
but justblas-openblas
I guess), and re-trying the install. Notably I guess these existing packages weren't good enough, lol.$ sudo pacman -S blas-openblas resolving dependencies... looking for conflicting packages... :: blas-openblas and blas are in conflict. Remove blas? [y/N] y :: blas-openblas and cblas are in conflict. Remove cblas? [y/N] y :: blas-openblas and lapack are in conflict. Remove lapack? [y/N] y
(Of note, the installation docs for Scipy seems to think
openblas
provides "libatlas-base-dev
", to get ahead of that potential question I also had.)Still fails to install via
requirements.txt
, but now I'm getting the same error as OP.fwiw I already do have scipy 1.10.1 installed
$ python -m pip freeze | grep sci scikit-image==0.20.0 scipy==1.10.1 $ python -m pip install scipy Requirement already satisfied: scipy in /home/user/Work/StableDiffusion/ComfyUI/venv/lib/python3.11/site-packages (1.10.1) Requirement already satisfied: numpy<1.27.0,>=1.19.5 in /home/user/Work/StableDiffusion/ComfyUI/venv/lib/python3.11/site-packages (from scipy) (1.23.5)
So I'm kinda confused what the actual problem is.
Full error log: https://paste.ee/p/psPUt (I think the copy/paste for this got a little wonk, but it's basically all here) pip freeze: https://paste.ee/p/IGihX
I think ComfyUI is for Python 3.10,
fwiw @WASasquatch, I asked comfyanonymous and he says there is no 3.10 target and uses 3.11 himself. I've been using 3.11 for a while with your stuff as well (without ever even knowing there was a 3.10/3.11 issue).
ComfyUI rides the latest releases so it itself will work on 3.11, but most the AI scene does not do this because most people use cloud compute and colabs which have old python builds like 3.8 and 3.9. Most these packages don't have 3.11 let alone 3.10 in mind.
With that knowledge you can't expect things using packages for 3.8 to just work on 3.11 without doing the compiling yourself which isn't a WAS-NS or ComfyUI thing, but something you have to take on.
This is why using portable is important. It comes with these tools you would need to compile.
You can ignore the Asv clip warning. Blender added, then removed a feature which I just quickly patched from GitHub.
With that knowledge you can't expect things using packages for 3.8 to just work on 3.11 without doing the compiling yourself which isn't a WAS-NS or ComfyUI thing, but something you have to take on.
You're obviously not responsible for supporting every environment, especially when the python ecosystem is so brittle. However it would be good to know, in the README's install instructions, that only 3.8 is tested/supported?
Checking the ComfyUI instructions, they do mention to use some python <3.12. It's a bit painful to have to luckily find this thread to create a new env.
Only thing that's tested is Python 3.10, that ComfyUI portable comes with and 90% of used use. That's why say 3.10. Comfyanonymous can use whatever but fact of the matter is this whole time portable, which is mostly used, and where most nodes are created and targeted, is python 3.10. This is why ComfyUI needs to get with the program and target pinned deps and specific python so everyone is on the same page with errors, not all over the place.
i need help when i try to run pip -r requierments.txt it throws this error