qtile: Qtile crash on Python update (3.10) [Arch Linux]
I met this problem when I updated the whole system (Arch Linux) this morning. After restarting the computer, qtile just crashed. Here is the error message.
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/libqtile/scripts/main.py", line 9, in <module>
import pkg_resources
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3243, in <module>
def _initialize_master_working_set():
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3226, in _call_aside
f(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 3255, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 559, in _build_master
ws = cls()
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 552, in __init__
self.add_entry(entry)
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 608, in add_entry
for dist in find_distributions(entry, True):
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2063, in find_on_path
for dist in factory(fullpath):
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2128, in distributions_from_metadata
yield Distribution.from_location(
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2591, in from_location
)._reload_version()
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2989, in _reload_version
md_version = self._get_version()
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2770, in _get_version
version = _version_from_file(lines)
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2554, in _version_from_file
line = next(iter(version_lines), '')
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 2765, in _get_metadata
for line in self.get_metadata_lines(name):
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 1417, in get_metadata_lines
return yield_lines(self.get_metadata(name))
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 1407, in get_metadata
value = self._get(path)
File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 1611, in _get
with open(path, 'rb') as stream:
PermissionError: [Errno 13] Permission denied: '/usr/lib/python3.10/site-packages/google_api_core-2.3.2-py3.10.egg-info/PKG-INFO'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/bin/qtile", line 33, in <module>
sys.exit(load_entry_point('qtile==0.18.1', 'console_scripts', 'qtile')())
File "/usr/bin/qtile", line 25, in importlib_load_entry_point
return next(matches).load()
File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 162, in load
module = import_module(match.group('module'))
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/lib/python3.10/site-packages/libqtile/scripts/main.py", line 11, in <module>
except (pkg_resources.DistributionNotFound, ImportError):
NameError: name 'pkg_resources' is not defined
It seems like the Python update causes this, or I’ve missed something. Thanks in advance.
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 15 (7 by maintainers)
@elParaguayo Yes, I agree with you. I don’t clearly understand why the permissions changed after updating the system. @erlonbie You can do that by running chown commands like so:
sudo chown [your-target-username] /path/to/the/files/that/threw/you/permission/error/messages
. In my case, I ran these commands:sudo chown username /usr/lib/python3.10/site-packages/google_api_core-2.3.2-py3.10.egg-info/namespace_packages.txt
andsudo chown username /usr/lib/python3.10/site-packages/google_api_core-2.3.2-py3.10.egg-info/PKG-INFO
.