py2app icon indicating copy to clipboard operation
py2app copied to clipboard

WARNING: setuptools.installer and fetch_build_eggs are deprecated

Open MAKOMO opened this issue 2 years ago • 4 comments

The following warning is raised on build time

/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/__init__.py:80: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!

        ********************************************************************************
        Requirements should be satisfied by a PEP 517 installer.
        If you are using pip, you can try `pip install --use-pep517`.
        ********************************************************************************

!!
  dist.fetch_build_eggs(dist.setup_requires)

and on app startup it says

Artisan.app/Contents/Resources/__boot__.py:221: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html```

The linked document reads

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.```

However, the app starts up as expected.

MAKOMO avatar Sep 19 '23 05:09 MAKOMO

The line in question is here: https://github.com/ronaldoussoren/py2app/blob/9c8ba2efd7b4227545ceb7312318c7d0b644435a/py2app/build_app.py#L966 and it seems to be a direct usage of the relevant deprecated API.

@ronaldoussoren The error message is now:

!!

        ********************************************************************************
        Requirements should be satisfied by a PEP 517 installer.
        If you are using pip, you can try `pip install --use-pep517`.

        By 2025-Oct-31, you need to update your project and remove deprecated calls
        or your builds will no longer be supported.
        ********************************************************************************

!!

which means:

>>> date(2025, 10, 31) - date.today()
datetime.timedelta(days=71)

So, as of this comment, py2app has 71 days to fix this issue or it will stop working entirely with new versions of setuptools.

glyph avatar Aug 22 '25 00:08 glyph

Am I correct in thinking that this has been fixed in master, and just not released yet? Do we know of anything that is blocking a release?

radarhere avatar Aug 22 '25 00:08 radarhere

as far as I know, master is totally non-functional (at least the few times I've tried it, it's immediately produced a traceback, and it still has a warning in the README saying "The master branch is work in progress, current releases are created from branch v0.28-branch", so v0.28-branch is where I typically look at stuff.

glyph avatar Aug 22 '25 00:08 glyph

This still seems to be broken as of py2app 0.28.8

hasii2011 avatar Oct 14 '25 01:10 hasii2011