You are not logged in.

#1 2020-12-06 12:23:38

Boogz_Linux
Member
Registered: 2020-06-19
Posts: 29

[Solved] Pywal error importlib.metadata.PackageNotFoundError: pywal

My solution: sudo pacman -Rns pywal-git
sudo pacman -S python-pywal

$ wal   
Traceback (most recent call last):
  File "/usr/bin/wal", line 33, in <module>
    sys.exit(load_entry_point('pywal==3.3.1', 'console_scripts', 'wal')())
  File "/usr/bin/wal", line 22, in importlib_load_entry_point
    for entry_point in distribution(dist_name).entry_points
  File "/usr/lib/python3.9/importlib/metadata.py", line 524, in distribution
    return Distribution.from_name(distribution_name)
  File "/usr/lib/python3.9/importlib/metadata.py", line 187, in from_name
    raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: pywal
$ uname -a                                                                            
Linux computer 5.9.11-arch2-1 #1 SMP PREEMPT Sat, 28 Nov 2020 02:07:22 +0000 x86_64 GNU/Linux
$ sudo pacman -Qs pywal                                                                   
local/pywal-git 3.3.0.r128.g4997a49-1
    Generate and change color-schemes on the fly.

Navigating to my pywal folder under /home/username/AUR/Pywal,
https://wiki.archlinux.org/index.php/Ar … g_packages
"git pull" returns "Already up to date".
I rebuilt the package anyway to see if it helped.

I don't have any testing repos enabled. I installed wal from aur following https://wiki.archlinux.org/index.php/Ar … uild_files.

I noticed the error is pointing me to /usr/bin/wal. From my limited know how, I understand that there is a version mismatch here. What's the best way of resolving this issue? Changing the required version by hand worked as I would have expected it to, not well.

$ nano /usr/bin/wal
#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'pywal==3.3.1','console_scripts','wal'
import re
import sys

# for compatibility with easy_install; see #2198
__requires__ = 'pywal==3.3.1'

try:
    from importlib.metadata import distribution
except ImportError:
    try:
        from importlib_metadata import distribution
    except ImportError:
        from pkg_resources import load_entry_point


def importlib_load_entry_point(spec, group, name):
    dist_name, _, _ = spec.partition('==')
    matches = (
        entry_point
        for entry_point in distribution(dist_name).entry_points
        if entry_point.group == group and entry_point.name == name
    )
    return next(matches).load()


globals().setdefault('load_entry_point', importlib_load_entry_point)


if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(load_entry_point('pywal==3.3.1', 'console_scripts', 'wal')())

My apologies if this amount of code is too large for code tags. I will add it to paste bin if requested.

Thank you in advance.

Edit: Okay so having done some digging, I see python is up to 3.9 now. I checked /usr/lib/python3.8/site-packes/ and the only item here is pywal. Looking into it now.

Last edited by Boogz_Linux (2020-12-06 13:08:24)

Offline

Board footer

Powered by FluxBB