Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux - Contributor Support Thread #105

Open
tin2tin opened this issue Mar 16, 2024 · 20 comments
Open

Linux - Contributor Support Thread #105

tin2tin opened this issue Mar 16, 2024 · 20 comments
Labels

Comments

@tin2tin
Copy link
Owner

tin2tin commented Mar 16, 2024

As I do not personally use Linux, I can't offer support for it, but if anyone has problems with it, report the Linux-related bugs here, and let's hope some other Linux users can help out submitting fixes for those problems.

@vuaieo
Copy link

vuaieo commented Aug 30, 2024

hi i tryed to install the pallaidium addon from latest main branch and i get this error when trying to install dependencies:

Ensuring: pip
Traceback (most recent call last):
File "/home/vuaieo/.config/upbge/4.3/scripts/addons/Pallaidium-main/init.py", line 990, in execute
install_modules(self)
File "/home/vuaieo/.config/upbge/4.3/scripts/addons/Pallaidium-main/init.py", line 708, in install_modules
subprocess.call([pybin, "-m", "ensurepip"])
File "/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/lib/python3.11/subprocess.py", line 389, in call
with Popen(*popenargs, **kwargs) as p:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/lib/python3.11/subprocess.py", line 1026, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/lib/python3.11/subprocess.py", line 1950, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/bin/python'
Error: Python: Traceback (most recent call last):
File "/home/vuaieo/.config/upbge/4.3/scripts/addons/Pallaidium-main/init.py", line 708, in install_modules
subprocess.call([pybin, "-m", "ensurepip"])
File "/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/lib/python3.11/subprocess.py", line 389, in call
with Popen(*popenargs, **kwargs) as p:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/lib/python3.11/subprocess.py", line 1026, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/lib/python3.11/subprocess.py", line 1950, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/bin/python'

@tin2tin
Copy link
Owner Author

tin2tin commented Aug 30, 2024

Try a vanilla version of Blender instead of UPBGE (I have no idea what changes are made in this fork of Blender).

@vuaieo
Copy link

vuaieo commented Aug 30, 2024

hi ok i installed official blender and addon again and i get same messege i think:

Ensuring: pip
Traceback (most recent call last):
File "/home/vuaieo/.config/blender/4.2/scripts/addons/Pallaidium-main/init.py", line 990, in execute
install_modules(self)
File "/home/vuaieo/.config/blender/4.2/scripts/addons/Pallaidium-main/init.py", line 708, in install_modules
subprocess.call([pybin, "-m", "ensurepip"])
File "/home/vuaieo/Desktop/blender-4.2.1-linux-x64/4.2/python/lib/python3.11/subprocess.py", line 389, in call
with Popen(*popenargs, **kwargs) as p:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vuaieo/Desktop/blender-4.2.1-linux-x64/4.2/python/lib/python3.11/subprocess.py", line 1026, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/home/vuaieo/Desktop/blender-4.2.1-linux-x64/4.2/python/lib/python3.11/subprocess.py", line 1950, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/home/vuaieo/Desktop/blender-4.2.1-linux-x64/4.2/python/bin/python'
Error: Python: Traceback (most recent call last):
File "/home/vuaieo/.config/blender/4.2/scripts/addons/Pallaidium-main/init.py", line 708, in install_modules
subprocess.call([pybin, "-m", "ensurepip"])
File "/home/vuaieo/Desktop/blender-4.2.1-linux-x64/4.2/python/lib/python3.11/subprocess.py", line 389, in call
with Popen(*popenargs, **kwargs) as p:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vuaieo/Desktop/blender-4.2.1-linux-x64/4.2/python/lib/python3.11/subprocess.py", line 1026, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/home/vuaieo/Desktop/blender-4.2.1-linux-x64/4.2/python/lib/python3.11/subprocess.py", line 1950, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/home/vuaieo/Desktop/blender-4.2.1-linux-x64/4.2/python/bin/python'

@tin2tin
Copy link
Owner Author

tin2tin commented Aug 30, 2024

As you know, I'm not on Linux. Do you feel up for getting your hands dirty? (I can tell you how to disable the subprocess.call([pybin, "-m", "ensurepip"]) line - which is nice to have - but not necessary)

@vuaieo
Copy link

vuaieo commented Aug 30, 2024

absolutely !!! how?

@tin2tin
Copy link
Owner Author

tin2tin commented Aug 30, 2024

In Blender Preferences, check this and save Preferences in lower left corner - burger menu:
image

In the tabs, click the + and add a scripting workspace:
image

Right click on the Pallaidium generate button, and select Edit Source:
image

In the Text Editor select __init__.py :
image

This is the (messy) source code of Pallaidium.

@tin2tin
Copy link
Owner Author

tin2tin commented Aug 30, 2024

Now highlight the ensure pip related lines and comment them (so they'll become disabled):
image

Then save the script: Alt+S (keep the mouse cursor in the Text Editor area when saving with shortcut)

Hit F3 and type reload scripts (not strips!!!):
image

When you hit Return, Pallaidium will be updated with this change you made. And hopefully the error will be gone.

@vuaieo
Copy link

vuaieo commented Aug 30, 2024

hmm wow cool thanks for this tutorial i did it and now the error is shorter, here the error now:

Installing: huggingface_hub module
Traceback (most recent call last):
File "/home/vuaieo/.config/upbge/4.3/scripts/addons/Pallaidium-main/init.py", line 990, in execute
install_modules(self)
File "/home/vuaieo/.config/upbge/4.3/scripts/addons/Pallaidium-main/init.py", line 714, in install_modules
import_module(self, "huggingface_hub", "huggingface_hub")
File "/home/vuaieo/.config/upbge/4.3/scripts/addons/Pallaidium-main/init.py", line 685, in import_module
subprocess.call([python_exe, "-m", "pip", "install", install_module, "--no-warn-script-location", "--upgrade"])
File "/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/lib/python3.11/subprocess.py", line 389, in call
with Popen(*popenargs, **kwargs) as p:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/lib/python3.11/subprocess.py", line 1026, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/lib/python3.11/subprocess.py", line 1950, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/bin/python'
Info: Installing: huggingface_hub module.
Error: Python: Traceback (most recent call last):
File "/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/lib/python3.11/subprocess.py", line 1026, in init
self._execute_child(args, executable, preexec_fn, close_fds,
File "/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/lib/python3.11/subprocess.py", line 1950, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/bin/python'

@tin2tin
Copy link
Owner Author

tin2tin commented Aug 30, 2024

Does this location have a file called python? /home/vuaieo/Desktop/UPBGE_29_8_2024/4.3/python/bin/
If not, where is it?

@vuaieo
Copy link

vuaieo commented Aug 30, 2024

yes there was but this python file is called "python3.11"

@vuaieo
Copy link

vuaieo commented Aug 30, 2024

ok super cool finaly with your help we figured it out how to fix it.
the solution wassuper simple actually:

  1. follow the guide from tinwotin by commenting or deleting the code lines from 705 to 712 in the file: /home/vuaieo/.config/upbge/4.3/scripts/addons/Pallaidium-main/init.py

  2. and then go to your blender folder for this file "/home/YourUserName/BlenderOrUPBGE/4.2/python/bin/python3.11" and copy and paste this "python3.11" file in same folder and rename it to just "python" and after that go in blender and click on install dependencies in user pref... well it worked for me here is the video how to do:

2024-08-30.17-07-16.mp4

@tin2tin
Copy link
Owner Author

tin2tin commented Aug 30, 2024

Thank you. As 1 was probably because of 2, it may not be necessary at all.

@jurassicjordan
Copy link

jurassicjordan commented Sep 1, 2024

I followed the workaround above and successfully (or at least I didnt get any errors after/while installing deps) installed the addon. I went ahead to test just stable diffusion XL and got the following error

  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 830, in _get_module
    return importlib.import_module("." + module_name, self.__name__)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, 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/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/models/autoencoders/__init__.py", line 1, in <module>
    from .autoencoder_asym_kl import AsymmetricAutoencoderKL
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/models/autoencoders/autoencoder_asym_kl.py", line 21, in <module>
    from ..modeling_outputs import AutoencoderKLOutput
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/models/modeling_outputs.py", line 7, in <module>
    class AutoencoderKLOutput(BaseOutput):
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/outputs.py", line 70, in __init_subclass__
    torch.utils._pytree.register_pytree_node(
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'torch.utils._pytree' has no attribute 'register_pytree_node'. Did you mean: '_register_pytree_node'?

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 830, in _get_module
    return importlib.import_module("." + module_name, self.__name__)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, 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/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/pipelines/pipeline_utils.py", line 44, in <module>
    from ..models import AutoencoderKL
  File "<frozen importlib._bootstrap>", line 1229, in _handle_fromlist
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 820, in __getattr__
    module = self._get_module(self._class_to_module[name])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 832, in _get_module
    raise RuntimeError(
RuntimeError: Failed to import diffusers.models.autoencoders.autoencoder_kl because of the following error (look up to see its traceback):
module 'torch.utils._pytree' has no attribute 'register_pytree_node'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jordancruz/.config/blender/4.2/scripts/addons/Pallaidium-main/__init__.py", line 3679, in execute
    from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
  File "<frozen importlib._bootstrap>", line 1229, in _handle_fromlist
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 821, in __getattr__
    value = getattr(module, name)
            ^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 820, in __getattr__
    module = self._get_module(self._class_to_module[name])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 832, in _get_module
    raise RuntimeError(
RuntimeError: Failed to import diffusers.pipelines.pipeline_utils because of the following error (look up to see its traceback):
Failed to import diffusers.models.autoencoders.autoencoder_kl because of the following error (look up to see its traceback):
module 'torch.utils._pytree' has no attribute 'register_pytree_node```
`

@tin2tin
Copy link
Owner Author

tin2tin commented Sep 1, 2024

@jurassicjordan Did you remember to restart after installing the dependencies? What is your Linux distro?

Googling this part: 'torch.utils._pytree' has no attribute 'register_pytree_node seems to indicate the transformers python lib does not have the right modules. And you could either need a newer version or an older version.

Currently, is the Pallaidium transformers version specified, because it works on Windows(and maybe on some Linux versions?):
transformers==4.43.0

What you could do is to install this add-on: https://github.com/amb/blender_pip

Then type in "transformers" and click uninstall. And then click Install and not if it is a newer version being installed. Then restart, and check if it is working now. If not, you can try earlier versions, by writing like this syntax: transformers==4.43.0 and hit Install.

Here you can see the version numbers: https://pypi.org/project/transformers/#history

If you find a version number working for you, let me know (I do not run Linux myself).

@jurassicjordan
Copy link

I did restart after dependencies where installed. I also tried to install that addon, but Blender complained that there was no manifest. I’ll try installing it manually by unzipping into the addons folder and see if I can install that version of transformers

@jurassicjordan
Copy link

okay, managed to get the pip addon installed, and successfully installed transformers 4.43.0 but I'm still getting a...Slightly? differnent but same error I think?? see at the end of the error it says something about an undefined symbol. didn't say that last time:

Python: Traceback (most recent call last):
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/transformers/utils/import_utils.py", line 1586, in _get_module
    return importlib.import_module("." + module_name, self.__name__)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, 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/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/transformers/models/clip/modeling_clip.py", line 44, in <module>
    from ...modeling_flash_attention_utils import _flash_attention_forward
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/transformers/modeling_flash_attention_utils.py", line 27, in <module>
    from flash_attn.bert_padding import index_first_axis, pad_input, unpad_input  # noqa
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/flash_attn/__init__.py", line 3, in <module>
    from flash_attn.flash_attn_interface import (
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/flash_attn/flash_attn_interface.py", line 10, in <module>
    import flash_attn_2_cuda as flash_attn_cuda
ImportError: /home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/flash_attn_2_cuda.cpython-311-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops5zeros4callEN3c108ArrayRefINS2_6SymIntEEENS2_8optionalINS2_10ScalarTypeEEENS6_INS2_6LayoutEEENS6_INS2_6DeviceEEENS6_IbEE

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 830, in _get_module
    return importlib.import_module("." + module_name, self.__name__)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, 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/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/loaders/unet.py", line 46, in <module>
    from .lora_pipeline import LORA_WEIGHT_NAME, LORA_WEIGHT_NAME_SAFE, TEXT_ENCODER_NAME, UNET_NAME
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/loaders/lora_pipeline.py", line 43, in <module>
    from ..models.lora import text_encoder_attn_modules, text_encoder_mlp_modules
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/models/lora.py", line 35, in <module>
    from transformers import CLIPTextModel, CLIPTextModelWithProjection
  File "<frozen importlib._bootstrap>", line 1229, in _handle_fromlist
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/transformers/utils/import_utils.py", line 1577, in __getattr__
    value = getattr(module, name)
            ^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/transformers/utils/import_utils.py", line 1576, in __getattr__
    module = self._get_module(self._class_to_module[name])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/transformers/utils/import_utils.py", line 1588, in _get_module
    raise RuntimeError(
RuntimeError: Failed to import transformers.models.clip.modeling_clip because of the following error (look up to see its traceback):
/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/flash_attn_2_cuda.cpython-311-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops5zeros4callEN3c108ArrayRefINS2_6SymIntEEENS2_8optionalINS2_10ScalarTypeEEENS6_INS2_6LayoutEEENS6_INS2_6DeviceEEENS6_IbEE

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 830, in _get_module
    return importlib.import_module("." + module_name, self.__name__)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1126, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, 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/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/models/autoencoders/__init__.py", line 1, in <module>
    from .autoencoder_asym_kl import AsymmetricAutoencoderKL
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/models/autoencoders/autoencoder_asym_kl.py", line 23, in <module>
    from .vae import DecoderOutput, DiagonalGaussianDistribution, Encoder, MaskConditionDecoder
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/models/autoencoders/vae.py", line 25, in <module>
    from ..unets.unet_2d_blocks import (
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/models/unets/__init__.py", line 7, in <module>
    from .unet_2d_condition import UNet2DConditionModel
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/models/unets/unet_2d_condition.py", line 22, in <module>
    from ...loaders import PeftAdapterMixin, UNet2DConditionLoadersMixin
  File "<frozen importlib._bootstrap>", line 1229, in _handle_fromlist
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 820, in __getattr__
    module = self._get_module(self._class_to_module[name])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 832, in _get_module
    raise RuntimeError(
RuntimeError: Failed to import diffusers.loaders.unet because of the following error (look up to see its traceback):
Failed to import transformers.models.clip.modeling_clip because of the following error (look up to see its traceback):
/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/flash_attn_2_cuda.cpython-311-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops5zeros4callEN3c108ArrayRefINS2_6SymIntEEENS2_8optionalINS2_10ScalarTypeEEENS6_INS2_6LayoutEEENS6_INS2_6DeviceEEENS6_IbEE

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 830, in _get_module
    return importlib.import_module("." + module_name, self.__name__)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, 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/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/pipelines/pipeline_utils.py", line 44, in <module>
    from ..models import AutoencoderKL
  File "<frozen importlib._bootstrap>", line 1229, in _handle_fromlist
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 820, in __getattr__
    module = self._get_module(self._class_to_module[name])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 832, in _get_module
    raise RuntimeError(
RuntimeError: Failed to import diffusers.models.autoencoders.autoencoder_kl because of the following error (look up to see its traceback):
Failed to import diffusers.loaders.unet because of the following error (look up to see its traceback):
Failed to import transformers.models.clip.modeling_clip because of the following error (look up to see its traceback):
/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/flash_attn_2_cuda.cpython-311-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops5zeros4callEN3c108ArrayRefINS2_6SymIntEEENS2_8optionalINS2_10ScalarTypeEEENS6_INS2_6LayoutEEENS6_INS2_6DeviceEEENS6_IbEE

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jordancruz/.config/blender/4.2/scripts/addons/Pallaidium-main/__init__.py", line 3679, in execute
    from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
  File "<frozen importlib._bootstrap>", line 1229, in _handle_fromlist
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 821, in __getattr__
    value = getattr(module, name)
            ^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 820, in __getattr__
    module = self._get_module(self._class_to_module[name])
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/diffusers/utils/import_utils.py", line 832, in _get_module
    raise RuntimeError(
RuntimeError: Failed to import diffusers.pipelines.pipeline_utils because of the following error (look up to see its traceback):
Failed to import diffusers.models.autoencoders.autoencoder_kl because of the following error (look up to see its traceback):
Failed to import diffusers.loaders.unet because of the following error (look up to see its traceback):
Failed to import transformers.models.clip.modeling_clip because of the following error (look up to see its traceback):
/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/flash_attn_2_cuda.cpython-311-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops5zeros4callEN3c108ArrayRefINS2_6SymIntEEENS2_8optionalINS2_10ScalarTypeEEENS6_INS2_6LayoutEEENS6_INS2_6DeviceEEENS6_IbEE

@tin2tin
Copy link
Owner Author

tin2tin commented Sep 3, 2024

All of the dependencies will be/are installed in the path in the last line. And something is conflicting. The first ting to try is to click uninstall dependencies. When finished delete all folders with starting with ~ like ~orch. Then start Blender and Install Dependencies.

@jurassicjordan
Copy link

now when you say delete folders starting with ~, are you refering to folders within the site-packages folder? because I just uninstalled deps, but there doesnt seem to be folders there with a tilde

@tin2tin
Copy link
Owner Author

tin2tin commented Sep 3, 2024

Yes, this folder:
/home/jordancruz/Tools/Blender-Versions/stable/blender-4.2.0-stable.a51f293548ad/4.2/python/lib/python3.11/site-packages/

If you like, you can join the Pallaidium discord (invite on main page). There is a Linux user there, who's got Pallaidium up and running. Maybe he can help you, too. (I do not have Linux)

@Marksusu
Copy link

Here is the translated text:


I would like to share my experience of installing Pallaidium on an Archlinux system. Following the instructions on the official page, I performed the following steps:

However, upon attempting to enable the Pallaidium plugin, I encountered an issue due to a dependency on the aud library, which is not available in my environment.

That aud https://pypi.org/project/aud/ is:

Support for Python 3.8, 3.7, & 3.6

My Archlinux system has Python version 3.12, so perhaps aud is not necessary.

After some troubleshooting with guidance from ChatGPT and inspired by the post at #105 from @vuaieo, I found a solution by commenting out the problematic line in the code.

Here's how:

  • Navigate to the Pallaidium plugin directory:

    cd ~/.config/blender/4.2/extensions/user_default/pallaidium_generative_ai/
  • Open the __init__.py file in a text editor and comment out the line importing aud:

    ...
    import os
    # import aud  # Adding a "#" before it makes it a comment, and the program will skip this line.
    import re
    ...
  • Save the file and restart Blender. Now you should be able to enable the Pallaidium plugin without any issues.

But hold on, there are two more crucial steps regarding dependencies that need to be addressed after creating a virtual environment. This step is essential "to avoid disrupting the system's existing standard environment (at least that’s what ChatGPT says)."

  • In the Generative AI add-on preferences, click the "Uninstall Dependencies" button (to clear out any incompatible libraries).

No response? According to the official instructions, you should restart Blender at this point.

Actually, a virtual environment should have been created before this step.

The so-called "virtual environment" refers to isolating another set of Python environments specifically for the Pallaidium plugin within a directory, separate from the system's standard environment.

Even if there was no response in the previous step, this next step is absolutely necessary, especially on an Arch Linux system where environmental requirements are very strict.

  • In the Generative AI add-on preferences, click the "Install Dependencies" button. Without a virtual environment, you will encounter the following error:

    error: externally-managed-environment
    
    × This environment is externally managed
    ╰─> To install Python packages system-wide, try 'pacman -S python-xyz', where xyz is the package you are trying to install.
    
        If you wish to install a non-Arch-packaged Python package, create a virtual environment using 'python -m venv path/to/venv'. Then use path/to/venv/bin/python and path/to/venv/bin/pip.
    
    ...
    

In essence, it strongly suggests creating a virtual environment, which is an unavoidable prerequisite no matter how you look at it.

So, with the help of ChatGPT, I built a virtual environment (similar to what you need to do before installing ComfyUI), following these steps:

  • Enter the Blender Plugin Directory:

    cd ~/.config/blender/4.2/extensions/user_default    # This is the directory where the "pallaidium_generative_ai" plugin resides ('~' represents 'home/your_user_name/'). Blender custom plugins are all located here, and we can also place the virtual environment directory for the Pallaidium plugin in this location.
  • Build the Virtual Environment:

    python -m venv pall_venv    # This "pall_venv" is the name of the virtual environment built for the Pallaidium plugin; you can change it to any name you prefer.
  • Activate the Virtual Environment:

    source ~/.config/blender/4.2/extensions/user_default/pall_venv/bin/activate
  • Start Blender from the Terminal:

    blender

Next, you can proceed with the following step:

  • In the Generative AI add-on preferences, click the "Install Dependencies" button.

In the virtual environment directory ~/.config/blender/4.2/extensions/user_default/pall_venv/, the program will automatically install the necessary dependencies, and you can see the entire installation process in the terminal window.

After seeing a message similar to "installation completed," make sure to activate the virtual environment from the terminal and then start Blender from the terminal. This ensures that the Pallaidium plugin runs smoothly in an environment that satisfies all dependencies.

  • Activate the Virtual Environment:

    source ~/.config/blender/4.2/extensions/user_default/pall_venv/bin/activate
  • Start Blender from the Terminal:

    blender

Now, you can open the add-on UI in the Sequencer > Sidebar > Generative AI within the Video Editing workspace.

Just a reminder:

Every time you want to use Pallaidium in Blender, make sure to activate the virtual environment from the terminal and then start Blender from the terminal. This will ensure that the Pallaidium plugin runs smoothly in an environment that meets all dependencies.

you can combine the two commands into one line using &&, which ensures that Blender will only start if the virtual environment is successfully activated. Here's how it looks:

source ~/.config/blender/4.2/extensions/user_default/pall_venv/bin/activate && blender

This way, you can activate the virtual environment and start Blender in a single command.


Hi there! I’m new to Arch Linux and only understand simple English. Plus, I barely know anything about Python programming. The steps above were all taught to me by ChatGPT, and some of them might have been done correctly just by chance. If you have any questions or run into issues, I won't be much help—feel free to reach out to AI for assistance! Looking forward to sharing experiences with you. 😊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants