biocommons.seqrepo
biocommons.seqrepo copied to clipboard
ModuleNotFoundError (pkg_resources) on import in 3.12
Describe the bug Same issue as https://github.com/biocommons/eutils/issues/173: Importing raises a ModuleNotFoundError:
>>> import biocommons.seqrepo
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/jss009/code/mavemap/tmp-venv/lib/python3.12/site-packages/biocommons/seqrepo/__init__.py", line 5, in <module>
from .seqrepo import SeqRepo # noqa: F401
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jss009/code/mavemap/tmp-venv/lib/python3.12/site-packages/biocommons/seqrepo/seqrepo.py", line 11, in <module>
from .fastadir import FastaDir
File "/Users/jss009/code/mavemap/tmp-venv/lib/python3.12/site-packages/biocommons/seqrepo/fastadir/__init__.py", line 1, in <module>
from .fastadir import FastaDir
File "/Users/jss009/code/mavemap/tmp-venv/lib/python3.12/site-packages/biocommons/seqrepo/fastadir/fastadir.py", line 11, in <module>
import yoyo
File "/Users/jss009/code/mavemap/tmp-venv/lib/python3.12/site-packages/yoyo/__init__.py", line 27, in <module>
from yoyo.connections import get_backend
File "/Users/jss009/code/mavemap/tmp-venv/lib/python3.12/site-packages/yoyo/connections.py", line 23, in <module>
from yoyo.backends import get_backend_class
File "/Users/jss009/code/mavemap/tmp-venv/lib/python3.12/site-packages/yoyo/backends/__init__.py", line 1, in <module>
from yoyo.backends.base import DatabaseBackend
File "/Users/jss009/code/mavemap/tmp-venv/lib/python3.12/site-packages/yoyo/backends/base.py", line 32, in <module>
from yoyo import internalmigrations
File "/Users/jss009/code/mavemap/tmp-venv/lib/python3.12/site-packages/yoyo/internalmigrations/__init__.py", line 8, in <module>
from . import v2
File "/Users/jss009/code/mavemap/tmp-venv/lib/python3.12/site-packages/yoyo/internalmigrations/v2.py", line 7, in <module>
from yoyo.migrations import get_migration_hash
File "/Users/jss009/code/mavemap/tmp-venv/lib/python3.12/site-packages/yoyo/migrations.py", line 34, in <module>
import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'
To Reproduce
Import biocommons.seqrepo
or anything contained therein
Additional context
If memory serves, importlib.metadata
is the drop-in fix, but it's also worth asking if this version check is needed.
Users can get around this for now by also pinning a newer version of setuptools (eg 68) in addition to biocommons.seqrepo
in their project dependencies