nickstenning / honcho

Honcho: a python clone of Foreman. For managing Procfile-based applications.
http://pypi.python.org/pypi/honcho
MIT License
1.6k stars 146 forks source link

3.12 compat #247

Closed aodj closed 1 month ago

aodj commented 1 month ago

It looks like the pkg_resources library was removed/migrated in Python 3.12 breaking honcho. From mu-editor/mu#2485

From the pkg_resources docs: setuptools.pypa.io/en/latest/pkg_resources.html

Use of pkg_resources is deprecated in favor of importlib.resources, importlib.metadata and their backports (importlib_resources, importlib_metadata). Some useful APIs are also provided by packaging (e.g. requirements and version parsing). Users should refrain from new usage of pkg_resources and should work to port to importlib-based solutions.

Python 3.12 has removed pkg_resources from the standard library (moved to setuptools): docs.python.org/3/whatsnew/3.12.html

gh-95299: Do not pre-install setuptools in virtual environments created with venv. This means that distutils, setuptools, pkg_resources, and easy_install will no longer available by default; to access these run pip install setuptools in the activated virtual environment.

...

Good news is that the importlib_resources backport library contains documentation on how to migrate: importlib-resources.readthedocs.io/en/latest/migration.html#pkg-resources-resource-filename

confuzeus commented 1 month ago

It looks like entry_points from importlib.metadata should be used instead of iter_entry_points from pkg_resources.