Giter Club home page Giter Club logo

comfyui-ait's People

Contributors

asagi4 avatar fizzledorf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

asagi4 soliver84

comfyui-ait's Issues

ModuleNotFoundError: No module named 'aitemplate'

Traceback (most recent call last):
File "D:\stable_diffusion\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1735, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 940, in exec_module
File "", line 241, in call_with_frames_removed
File "D:\stable_diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-AIT_init
.py", line 1, in
from .ait_load import AIT_Unet_Loader #, AIT_VAE_Encode_Loader
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\stable_diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-AIT\ait_load.py", line 35, in
from aitemplate.compiler import Model
ModuleNotFoundError: No module named 'aitemplate'

Going crazy with this. AITemplate is installed. For ComfyUI-AIT, I applied the patch to the comfyui root (had to use --reject --whitespace=fx). I tried this on Python 3.10, 3.11, and 3.12. Any suggestions? Thanks.

Error when attempting to generate images

I was able to compile some modules again, but when I use the new/old modules I get this error:

`got prompt
unloaded AIT
<ComfyUI-AIT.ait_load.AITPatch object at 0x000001958450E260>
Requested to load SDXL
Loading 1 new model
0%| | 0/67 [00:00<?, ?it/s][17:25:59] model_interface.cu:123: Error: Called SetConstant on time_embed_0_weight but can't find in either bound or unbound constant set
0%| | 0/67 [00:00<?, ?it/s]
ERROR:root:!!! Exception during processing !!!
ERROR:root:Traceback (most recent call last):
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\nodes.py", line 1237, in sample
return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\nodes.py", line 1207, in common_ksampler
samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image,
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\custom_nodes\ComfyUI-Impact-Pack\modules\impact\sample_error_enhancer.py", line 22, in informative_sample
raise e
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\custom_nodes\ComfyUI-Impact-Pack\modules\impact\sample_error_enhancer.py", line 9, in informative_sample
return original_sample(*args, **kwargs)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\comfy\sample.py", line 100, in sample
samples = sampler.sample(noise, positive_copy, negative_copy, cfg=cfg, latent_image=latent_image, start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise, denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar, seed=seed)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\comfy\samplers.py", line 691, in sample
return sample(self.model, noise, positive, negative, cfg, self.device, sampler(), sigmas, self.model_options, latent_image=latent_image, denoise_mask=denoise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\comfy\samplers.py", line 597, in sample
samples = sampler.sample(model_wrap, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\comfy\samplers.py", line 557, in sample
samples = getattr(k_diffusion_sampling, "sample_{}".format(sampler_name))(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **extra_options)
File "C:\Users\joker\OneDrive\Desktop\A.I\xformers\lib\site-packages\torch\utils_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\comfy\k_diffusion\sampling.py", line 580, in sample_dpmpp_2m
denoised = model(x, sigmas[i] * s_in, **extra_args)
File "C:\Users\joker\OneDrive\Desktop\A.I\xformers\lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "C:\Users\joker\OneDrive\Desktop\A.I\xformers\lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\comfy\samplers.py", line 274, in forward
out = self.inner_model(x, sigma, cond=cond, uncond=uncond, cond_scale=cond_scale, model_options=model_options, seed=seed)
File "C:\Users\joker\OneDrive\Desktop\A.I\xformers\lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "C:\Users\joker\OneDrive\Desktop\A.I\xformers\lib\site-packages\torch\nn\modules\module.py", line 1527, in call_impl
return forward_call(*args, **kwargs)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\comfy\samplers.py", line 264, in forward
return self.apply_model(*args, **kwargs)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\comfy\samplers.py", line 261, in apply_model
out = sampling_function(self.inner_model.apply_model, x, timestep, uncond, cond, cond_scale, model_options=model_options, seed=seed)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\comfy\samplers.py", line 249, in sampling_function
cond, uncond = calc_cond_uncond_batch(model_function, cond, uncond, x, timestep, max_total_area, model_options)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\comfy\samplers.py", line 224, in calc_cond_uncond_batch
output = model_options['model_function_wrapper'](model_function, {"input": input_x, "timestep": timestep
, "c": c, "cond_or_uncond": cond_or_uncond}).chunk(batch_chunks)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\custom_nodes\ComfyUI-AIT\ait_load.py", line 69, in call
self.ait_model.set_weights(sd)
File "C:\Users\joker\OneDrive\Desktop\A.I\ComfyUI_latest\custom_nodes\ComfyUI-AIT\ait_load.py", line 43, in set_weights
self.exe_module.set_many_constants_with_tensors(constants)
File "C:\Users\joker\OneDrive\Desktop\A.I\xformers\lib\site-packages\aitemplate\compiler\model.py", line 861, in set_many_constants_with_tensors
self.set_many_constants(ait_tensors)
File "C:\Users\joker\OneDrive\Desktop\A.I\xformers\lib\site-packages\aitemplate\compiler\model.py", line 812, in set_many_constants
self.DLL.AITemplateModelContainerSetManyConstants(
File "C:\Users\joker\OneDrive\Desktop\A.I\xformers\lib\site-packages\aitemplate\compiler\model.py", line 196, in _wrapped_func
raise RuntimeError(f"Error in function: {method.name}")
RuntimeError: Error in function: AITemplateModelContainerSetManyConstants

Prompt executed in 2.10 seconds`

RuntimeError: Error in function: AITemplateModelContainerSetManyConstants

image
got prompt
Requested to load SDXL
Loading 1 new model
0%| | 0/20 [00:00<?, ?it/s]Error: Called SetConstant on time_embed_0_weight but can't find in either bound or unbound constant set
0%| | 0/20 [00:00<?, ?it/s]
ERROR:root:!!! Exception during processing !!!
ERROR:root:Traceback (most recent call last):
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1271, in sample
return common_ksampler(model, noise_seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise, disable_noise=disable_noise, start_step=start_at_step, last_step=end_at_step, force_full_denoise=force_full_denoise)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1207, in common_ksampler
samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\comfy\sample.py", line 97, in sample
samples = sampler.sample(noise, positive_copy, negative_copy, cfg=cfg, latent_image=latent_image, start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise, denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar, seed=seed)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 785, in sample
return sample(self.model, noise, positive, negative, cfg, self.device, sampler(), sigmas, self.model_options, latent_image=latent_image, denoise_mask=denoise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 690, in sample
samples = sampler.sample(model_wrap, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 630, in sample
samples = getattr(k_diffusion_sampling, "sample_{}".format(sampler_name))(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **extra_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\utils_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\comfy\k_diffusion\sampling.py", line 613, in sample_dpmpp_2m_sde
denoised = model(x, sigmas[i] * s_in, **extra_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 323, in forward
out = self.inner_model(x, sigma, cond=cond, uncond=uncond, cond_scale=cond_scale, cond_concat=cond_concat, model_options=model_options, seed=seed)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\comfy\k_diffusion\external.py", line 125, in forward
eps = self.get_eps(input * c_in, self.sigma_to_t(sigma), **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\comfy\k_diffusion\external.py", line 151, in get_eps
return self.inner_model.apply_model(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 311, in apply_model
out = sampling_function(self.inner_model.apply_model, x, timestep, uncond, cond, cond_scale, cond_concat, model_options=model_options, seed=seed)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 289, in sampling_function
cond, uncond = calc_cond_uncond_batch(model_function, cond, uncond, x, timestep, max_total_area, cond_concat, model_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 263, in calc_cond_uncond_batch
output = model_options['model_function_wrapper'](model_function, {"input": input_x, "timestep": timestep
, "c": c, "cond_or_uncond": cond_or_uncond}).chunk(batch_chunks)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-AIT\ait_load.py", line 69, in call
self.ait_model.set_weights(sd)
File "I:\00AI\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-AIT\ait_load.py", line 43, in set_weights
self.exe_module.set_many_constants_with_tensors(constants)
File "I:\00AI\ComfyUI_windows_portable\python_embeded\Lib\site-packages\aitemplate\compiler\model.py", line 861, in set_many_constants_with_tensors
self.set_many_constants(ait_tensors)
File "I:\00AI\ComfyUI_windows_portable\python_embeded\Lib\site-packages\aitemplate\compiler\model.py", line 812, in set_many_constants
self.DLL.AITemplateModelContainerSetManyConstants(
File "I:\00AI\ComfyUI_windows_portable\python_embeded\Lib\site-packages\aitemplate\compiler\model.py", line 196, in _wrapped_func
raise RuntimeError(f"Error in function: {method.name}")
RuntimeError: Error in function: AITemplateModelContainerSetManyConstants

What files should I put in ComfyUI/models/ait location?

Please tell me the file name or file format that should be placed in ComfyUI/models/ait location.
There are many files in the already compiled module. Please tell me which files should be placed in which path and the file structure stored in ComfyUI/models/ait.

patch does not apply

git pull
remote: Enumerating objects: 33, done.
remote: Counting objects: 100% (29/29), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 15 (delta 11), reused 15 (delta 11), pack-reused 0
Unpacking objects: 100% (15/15), 1.67 KiB | 39.00 KiB/s, done.
From https://ghproxy.com/https://github.com/comfyanonymous/ComfyUI
c8013f7..88ceeb3 master -> origin/master
Updating c8013f7..88ceeb3
Fast-forward
comfy/ldm/modules/diffusionmodules/model.py | 194 +++++++++-------------------
web/lib/litegraph.core.js | 2 +-
2 files changed, 59 insertions(+), 137 deletions(-)

I:\00AI\ComfyUI_windows_portable\ComfyUI>git apply 0001-AIT-Compile-support.patch
0001-AIT-Compile-support.patch:22: trailing whitespace.
import torch
0001-AIT-Compile-support.patch:23: trailing whitespace.
import comfy.cli_args
0001-AIT-Compile-support.patch:24: trailing whitespace.
comfy.cli_args.enable_ait = True
0001-AIT-Compile-support.patch:25: trailing whitespace.

0001-AIT-Compile-support.patch:26: trailing whitespace.
import comfy.sd
error: patch failed: comfy/ldm/modules/attention.py:91
error: comfy/ldm/modules/attention.py: patch does not apply
error: patch failed: comfy/ldm/modules/diffusionmodules/openaimodel.py:370
error: comfy/ldm/modules/diffusionmodules/openaimodel.py: patch does not apply

ModuleNotFoundError: No module named 'aitemplate'

Traceback (most recent call last):
File "/mnt/HDD_1Tb/SDXL/ComfyUI/nodes.py", line 1734, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "/mnt/HDD_1Tb/SDXL/ComfyUI/custom_nodes/ComfyUI-AIT/init.py", line 1, in
from .ait_load import AIT_Unet_Loader
File "/mnt/HDD_1Tb/SDXL/ComfyUI/custom_nodes/ComfyUI-AIT/ait_load.py", line 35, in
from aitemplate.compiler import Model
ModuleNotFoundError: No module named 'aitemplate'

What are the dynamic libraries? Where do they come from?

ComfyUI-AIT seems to want me to install some dynamic libraries in a folder. There's a precompiled version, but those don't work with my setup for some reason. I want to build them myself, what actually are these mystery libraries?

`python setup.py bdist_wheel` fail on win

on windows failes at
python setup.py bdist_wheel
throws:
setup.py", line 58, in <module> shutil.copytree("../3rdparty", "./aitemplate/3rdparty") File "shutil.py", line 561, in copytree File "shutil.py", line 515, in _copytree shutil.Error: [('../3rdparty\\composable_kernel\\library\\src\\tensor_operation_instance\\gpu\\batched_gemm_add_relu_gemm_add\\device_batched_gemm_add_relu_gemm_add_xdl_cshuffle_f16_f16_f16_f16_gmk_gnk_gno_gmo_instance.cpp', ' ... "[Errno 2] No such file or directory: './aitemplate/ .... "[Errno 2] No such file or directory: '../3rdparty\\\\composable_kernel\\\\l ....
the whole error message
error.txt
attached

No module named 'aitemplate'

So I've tried pip install aitemplate --force with the venv activated to make sure it was correctly installed and it still won't import.
I had a look at what was in site-packages and it was named AITemplate so on a hunch I changed the code so it uses the correct case and now it spits out No module named 'Classes', I have no idea why it's so screwed up, I've tried fully delete it and reinstall but it's the same.

I'm running Python 3.10.6 on Windows 10

Can't install on windows: No module named '_distutils_hack'

After extracting and navigating into ait_windows/python
python setup.py bdist_wheel fails with:

(venv) PS D:\Dev\StabilityMatrix\Packages\ComfyUI\custom_nodes\ComfyUI-AIT\compile\ait_windows\python> python setup.py bdist_wheel
Traceback (most recent call last):
  File "D:\Dev\StabilityMatrix\Packages\ComfyUI\custom_nodes\ComfyUI-AIT\compile\ait_windows\python\setup.py", line 36, in <module>
    from setuptools import find_packages, setup
  File "D:\Dev\StabilityMatrix\Packages\ComfyUI\venv\lib\site-packages\setuptools\__init__.py", line 7, in <module>
    import _distutils_hack.override  # noqa: F401
ModuleNotFoundError: No module named '_distutils_hack'

Double checked to install pip install -U pip setuptools but doesn't help, still same error.
Please assist.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.