MrForExample / ComfyUI-3D-Pack

An extensive node suite that enables ComfyUI to process 3D inputs (Mesh & UV Texture, etc) using cutting edge algorithms (3DGS, NeRF, etc.)
MIT License
2.37k stars 240 forks source link

No module named 'TriplaneGaussian' #192

Closed iranolly closed 4 months ago

iranolly commented 4 months ago

Traceback (most recent call last): File "/home/cgt/Documents/ComfyUI/nodes.py", line 1907, in load_custom_node module_spec.loader.exec_module(module) File "<frozen importlib._bootstrap_external>", line 940, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "/home/cgt/Documents/ComfyUI/custom_nodes/ComfyUI-3D-Pack/__init__.py", line 47, in <module> module = importlib.import_module(f".{nodes_filename}", package=__name__) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/cgt/anaconda3/envs/comfyui/lib/python3.11/importlib/__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "<frozen importlib._bootstrap>", line 1206, in _gcd_import File "<frozen importlib._bootstrap>", line 1178, in _find_and_load File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 690, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 940, in exec_module File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed File "/home/cgt/Documents/ComfyUI/custom_nodes/ComfyUI-3D-Pack/nodes.py", line 54, in <module> from TriplaneGaussian.triplane_gaussian_transformers import TGS ModuleNotFoundError: No module named 'TriplaneGaussian' Cannot import /home/cgt/Documents/ComfyUI/custom_nodes/ComfyUI-3D-Pack module for custom nodes: No module named 'TriplaneGaussian'

i've done all of install by running requirements.txt / requirements_post.txt and i still got the Error: "No module named

'TriplaneGaussian'" here's my pip list `Package Version


absl-py 2.1.0 accelerate 0.32.1 addict 2.4.0 aiohttp 3.9.5 aiosignal 1.3.1 albucore 0.0.12 albumentations 1.4.11 annotated-types 0.7.0 antlr4-python3-runtime 4.9.3 anyio 4.4.0 argostranslate 1.9.6 attrs 23.2.0 audioread 3.0.1 beautifulsoup4 4.12.3 cachetools 5.3.3 certifi 2024.7.4 cffi 1.16.0 chardet 5.2.0 charset-normalizer 3.3.2 click 8.1.7 clip-interrogator 0.6.0 cmake 3.30.0 color-matcher 0.5.0 coloredlogs 15.0.1 colorlog 6.8.2 contourpy 1.2.1 cryptography 42.0.8 cssselect2 0.7.0 ctranslate2 4.3.1 cycler 0.12.1 dataclasses-json 0.6.7 ddt 1.7.2 decorator 5.1.1 deep-translator 1.11.4 deepdiff 7.0.1 Deprecated 1.2.14 diff_gaussian_rasterization 0.0.0 diffusers 0.29.2 docutils 0.21.2 einops 0.8.0 embreex 2.17.7.post4 eval_type_backport 0.2.0 executing 2.0.1 filelock 3.15.4 flatbuffers 24.3.25 fonttools 4.53.1 frozenlist 1.4.1 fsspec 2024.6.1 ftfy 6.2.0 fvcore 0.1.5.post20221221 gitdb 4.0.11 GitPython 3.1.43 googletrans-py 4.0.0 h11 0.14.0 h2 4.1.0 hpack 4.0.0 httpcore 1.0.5 httpx 0.27.0 huggingface-hub 0.23.4 humanfriendly 10.0 hyperframe 6.0.1 idna 3.7 imageio 2.34.2 imageio-ffmpeg 0.5.1 importlib_metadata 8.0.0 iopath 0.1.10 jax 0.4.30 jaxlib 0.4.30 jaxtyping 0.2.31 Jinja2 3.1.4 joblib 1.4.2 jsonschema 4.22.0 jsonschema-specifications 2023.12.1 kiui 0.2.10 kiwisolver 1.4.5 kornia 0.7.3 kornia_rs 0.1.4 lazy_loader 0.4 librosa 0.10.2.post1 lightning-utilities 0.11.3.post0 llvmlite 0.43.0 lxml 5.2.2 mapbox-earcut 1.0.1 markdown-it-py 3.0.0 MarkupSafe 2.1.5 marshmallow 3.21.3 matplotlib 3.9.1 matrix-client 0.4.0 mdurl 0.1.2 mediapipe 0.10.14 ml-dtypes 0.4.0 mpmath 1.3.0 msgpack 1.0.8 multidict 6.0.5 mypy-extensions 1.0.0 nerfacc 0.5.3 networkx 3.3 ninja 1.11.1.1 numba 0.60.0 numpy 1.26.4 nvdiffrast 0.3.1 nvidia-cublas-cu12 12.1.3.1 nvidia-cuda-cupti-cu12 12.1.105 nvidia-cuda-nvrtc-cu12 12.1.105 nvidia-cuda-runtime-cu12 12.1.105 nvidia-cudnn-cu12 8.9.2.26 nvidia-cufft-cu12 11.0.2.54 nvidia-curand-cu12 10.3.2.106 nvidia-cusolver-cu12 11.4.5.107 nvidia-cusparse-cu12 12.1.0.106 nvidia-nccl-cu12 2.20.5 nvidia-nvjitlink-cu12 12.5.82 nvidia-nvtx-cu12 12.1.105 objprint 0.2.3 omegaconf 2.3.0 onnxruntime 1.18.1 onnxruntime-gpu 1.18.1 open_clip_torch 2.26.1 opencv-contrib-python 4.10.0.84 opencv-python 4.10.0.84 opencv-python-headless 4.10.0.84 opt-einsum 3.3.0 ordered-set 4.1.0 packaging 24.1 pandas 2.2.2 piexif 1.1.3 pillow 10.4.0 pip 24.0 platformdirs 4.2.2 plyfile 1.0.3 pointnet2_ops 3.0.0 pooch 1.8.2 portalocker 2.10.0 protobuf 4.25.3 psutil 6.0.0 py-cpuinfo 9.0.0 pycollada 0.8 pycparser 2.22 pydantic 2.8.2 pydantic_core 2.20.1 PyGithub 2.3.0 pygltflib 1.16.2 Pygments 2.18.0 pyhocon 0.3.61 PyJWT 2.8.0 PyMCubes 0.1.6 pymeshlab 2023.12.post1 PyNaCl 1.5.0 pynvml 11.5.0 pyparsing 3.1.2 python-dateutil 2.9.0.post0 pytorch-lightning 2.3.2 pytorch-msssim 1.0.0 pytorch3d 0.7.7 pytz 2024.1 PyYAML 6.0.1 referencing 0.35.1 regex 2024.5.15 reportlab 4.2.2 requests 2.32.3 rich 13.7.1 rpds-py 0.18.1 Rtree 1.2.0 sacremoses 0.0.53 safetensors 0.4.3 scikit-image 0.24.0 scikit-learn 1.5.1 scipy 1.14.0 seaborn 0.13.2 segment-anything 1.0 Send2Trash 1.8.3 sentencepiece 0.2.0 setuptools 69.5.1 shapely 2.0.4 shellingham 1.5.4 simple_knn 0.0.0 simpleeval 0.9.13 six 1.16.0 smmap 5.0.1 sniffio 1.3.1 sounddevice 0.4.7 soundfile 0.12.1 soupsieve 2.5 soxr 0.3.7 spandrel 0.3.4 stanza 1.1.1 svg.path 6.3 svglib 1.5.1 sympy 1.12.1 tabulate 0.9.0 termcolor 2.4.0 threadpoolctl 3.5.0 tifffile 2024.7.2 timm 1.0.7 tinycss2 1.3.0 tokenizers 0.19.1 tomli 2.0.1 torch 2.3.0 torch_scatter 2.1.2 torchaudio 2.3.0 torchmetrics 1.4.0.post0 torchsde 0.2.6 torchtyping 0.1.4 torchvision 0.18.0 tqdm 4.66.4 trampoline 0.1.2 transformers 4.42.3 trimesh 4.4.1 triton 2.3.0 typeguard 2.13.3 typer 0.12.3 typing_extensions 4.12.2 typing-inspect 0.9.0 tzdata 2024.1 ultralytics 8.2.50 ultralytics-thop 2.0.0 urllib3 1.26.19 varname 0.13.1 vhacdx 0.0.8.post1 wcwidth 0.2.13 webencodings 0.5.1 wheel 0.43.0 wrapt 1.16.0 xatlas 0.0.9 xformers 0.0.26.post1 xxhash 3.4.1 yacs 0.1.8 yapf 0.40.2 yarl 1.9.4 zipp 3.19.2`

Nubsy commented 4 months ago

This issue seems to stem from the fact that file paths are case-sensitive on Linux, but not on Windows. I have the same issue, and "resolved" it by changing the MODULE_PATH = os.path.join(ROOT_PATH, "Gen_3D_Modules") in init.py to MODULE_PATH = os.path.join(ROOT_PATH, "gen_3d_modules"). Problem is, while that fixes the first issue, many more appear after that. It seems that there is some code that looks for files according to the name of some classes, but fixing this is beyond my ability. I would very much like it if someone could fix this.

lovisdotio commented 4 months ago

I have same issue on Linux ( google colab ) for me.

MrForExample commented 4 months ago

Yeah, sorry about that, I think I accidently pushed something into main that should be in dev branch, but it's ok, I'll release a big update today, Added auto install & build script so users can install Comfy3D directly using ComfyUI Manager, and with a new CharacterGen + Unique3D model workflow to generate A-Pose 3D Character with a single image, and other bunch of updates

lovisdotio commented 4 months ago

Amazing..

Nubsy commented 4 months ago

Yeah, sorry about that, I think I accidently pushed something into main that should be in dev branch, but it's ok, I'll release a big update today, Added auto install & build script so users can install Comfy3D directly using ComfyUI Manager, and with a new CharacterGen + Unique3D model workflow to generate A-Pose 3D Character with a single image, and other bunch of updates

Just a reminder, If possible, please ensure that it works in case-sensitive environments, and not only Windows! Thank you for your hard work.

Nubsy commented 4 months ago

The issue persists after today's merge

lovisdotio commented 4 months ago

I am checking right now with the new update, will give some news in a few minutes.

iranolly commented 4 months ago

the update didn't fix the issue.

v4r4rth commented 4 months ago

@MrForExample can confirm the issue is still present, unable to do 3D stuff :(

Nubsy commented 4 months ago

I can confirm that when installing via ComfyManager, it seems like two directories are created. Gen_3D_Modules and gen_3d_modules. After moving the contents of the latter (lower case) into the former, and installing EGL dependencies, I was able to "successfully" load the extension. After that though, it's all errors. Not a single workflow in the _Example_Workflows that I've tried executes successfully, most complaining about missing files or directories. My knowledge here is limited, but if anybody is making progress, please feel free to reach out to me for testing or feedback.

GeorgeSte commented 4 months ago

Having the same error despite the most recent push, anyone managed to find a fix that can be done until the next push with this fix comes out?

Nubsy commented 4 months ago

Additional find - Make sure to move everything stored in ComfyUI-3D-Pack/configs into ComfyUI-3D-Pack/Configs (note the capital C in Configs). I also deleted the lower-case configs folder. I'm not sure what all this fixed, but things seem to be moving now.

Nubsy commented 4 months ago

Ok it turns out you do need a lower-case-c configs folder in order to boot up at all because it expects system.conf in there. Anyway, I don't think I can do much more problem solving here. The issue seems broadly obvious: the code makes a lot of references to folders that may or may not exist, due to the case-sensitivity issues mentioned above. It looks like someone would need to go through the project and make sure that folder names align with what's expected and are referenced consistently (i.e. no situations where the code is looking for BOTH config AND Config)

lovisdotio commented 4 months ago

Ok with the latest update I manage to get it to work for Google Colab ( Linux ). I had some problem with nviddfrast but its fixed in the colab. Dont forget on linux to delete the folder before reinstalling it.

https://colab.research.google.com/drive/1i9wTQhO8MkuXJjiUiIG4b0N4uITiJpX2?authuser=0

MrForExample commented 4 months ago

Everything here, should be fixed by now in the newest changeset, ok, let me close this one, thank you guys 👍