Python : AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?

Hello when i try to run “pip install” it gives me this error :

ERROR: Exception:
Traceback (most recent call last):
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 160, in exc_logging_wrapper
    status = run_func(*args)
             ^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 247, in wrapper
    return func(self, options, args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/commands/install.py", line 326, in run
    session = self.get_default_session(options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 98, in get_default_session
    self._session = self.enter_context(self._build_session(options))
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 125, in _build_session
    session = PipSession(
              ^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/network/session.py", line 343, in __init__
    self.headers["User-Agent"] = user_agent()
                                 ^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/network/session.py", line 175, in user_agent
    setuptools_dist = get_default_environment().get_distribution("setuptools")
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py", line 188, in get_distribution
    return next(matches, None)
           ^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py", line 185, in <genexpr>
    for distribution in self.iter_all_distributions()
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/metadata/base.py", line 612, in iter_all_distributions
    for dist in self._iter_distributions():
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py", line 176, in _iter_distributions
    for dist in finder.find_eggs(location):
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py", line 144, in find_eggs
    yield from self._find_eggs_in_dir(location)
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py", line 111, in _find_eggs_in_dir
    from pip._vendor.pkg_resources import find_distributions
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2164, in <module>
    register_finder(pkgutil.ImpImporter, find_on_path)
                    ^^^^^^^^^^^^^^^^^^^
AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
Traceback (most recent call last):
  File "/home/femscout/.local/bin/pip", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/cli/main.py", line 70, in main
    return command.main(cmd_args)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 101, in main
    return self._main(args)
           ^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/cli/base_command.py", line 216, in _main
    self.handle_pip_version_check(options)
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 179, in handle_pip_version_check
    session = self._build_session(
              ^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/cli/req_command.py", line 125, in _build_session
    session = PipSession(
              ^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/network/session.py", line 343, in __init__
    self.headers["User-Agent"] = user_agent()
                                 ^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/network/session.py", line 175, in user_agent
    setuptools_dist = get_default_environment().get_distribution("setuptools")
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py", line 188, in get_distribution
    return next(matches, None)
           ^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py", line 185, in <genexpr>
    for distribution in self.iter_all_distributions()
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/metadata/base.py", line 612, in iter_all_distributions
    for dist in self._iter_distributions():
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py", line 176, in _iter_distributions
    for dist in finder.find_eggs(location):
                ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py", line 144, in find_eggs
    yield from self._find_eggs_in_dir(location)
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py", line 111, in _find_eggs_in_dir
    from pip._vendor.pkg_resources import find_distributions
  File "/home/femscout/.local/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2164, in <module>
    register_finder(pkgutil.ImpImporter, find_on_path)
                    ^^^^^^^^^^^^^^^^^^^
AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?

am trying to use “Comfyui” and it fails to auto install cause of pip not working as intended

That’s not the command you ran, it requires at least one argument.

I think you’re not using it correctly.

Start from the beginning, what have you done?


Anyway, here’s a quick guide. It’s been a while since I tried comfyui, so I’m going off the rather vague instructions on the git repo, with a little memory thrown in. This is just a rough guide so check for variations in the instructions.

The repo version of python is 3.13. If you want to use python 3.12 then you’ll need to install it. For instance from the AUR using yay.

yay -S python312

Clone the repo

git clone https://github.com/comfyanonymous/ComfyUI.git

Then create a venv in the cloned repo.

python3.12 -m venv venv

# or if you want to use 3.13
python -m venv venv

Activate the venv

source /venv/bin/activate

Install stuff

# for amd
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.2.4

# for intel
# check the git repo

# for nvidia
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu126

# install the rest of the requirements
# this one may be enough on it's own
# not sure as I may already have torch installed system wide
# though pacman/yay
pip install -r requirements.txt

Run it

python main.py

Again check the instructions for variations.

In future, do this to run it

# cd to cloned repo
source venv/bin/activate
python main.py

I setup comfyui from scratch using this guide and python 3.13 (though I skipped the torch install)…it ran but I didn’t test it further.

1 Like