-
Notifications
You must be signed in to change notification settings - Fork 38
ModuleNotFoundError: No module named 'pkg_resources' with setuptools >=80 (Python 3.12) #116
Description
Environment
- OS: Ubuntu 22.04 (also reproduced on Windows 11)
- Python version: 3.12.3
- Atarashi version: 0.0.11
- Installed via: pip install atarashi
- setuptools version installed automatically: 82.0.0
Issue Description
After installing Atarashi using:
pip install atarashi
Running:
atarashi -h
results in:
ModuleNotFoundError: No module named 'pkg_resources'
Traceback:
from pkg_resources import resource_filename
ModuleNotFoundError: No module named 'pkg_resources'
Error with setuptools 82.0.0
The following screenshot shows the failure when using the automatically installed setuptools (82.0.0):
Working After Downgrading setuptools
After downgrading setuptools:
pip install setuptools==69.5.1 --force-reinstall
Atarashi runs successfully.
Screenshot of successful execution:
Investigation
The project declares:
setuptools (>=80.9.0,<81.0.0)
However, in Python 3.12 environments with setuptools >=80,
pkg_resources does not appear to be reliably available.
Atarashi imports:
from pkg_resources import resource_filename
This import fails even though setuptools is installed.
Downgrading setuptools to 69.5.1 restores expected behavior.
Root Cause (Likely)
pkg_resources is considered legacy and is being phased out in modern packaging workflows.
With newer setuptools versions (>=80), its availability appears inconsistent in Python 3.12 environments.
Since Atarashi requires Python >=3.10, it could safely use:
importlib.resources
which is part of the Python standard library and does not require setuptools at runtime.
Suggested Fix
One of the following:
- Replace usage of
pkg_resourceswithimportlib.resources
(recommended modern solution)
OR
- Adjust setuptools dependency constraints to a version range
that reliably includespkg_resources
Additional Notes
- Reproducible on multiple machines
- Reproducible on both Ubuntu and Windows
- Appears to be a runtime compatibility issue rather than a local environment problem
Happy to test any proposed fixes or help with a PR.

