ronaldoussoren / py2app

py2app is a Python setuptools command which will allow you to make standalone Mac OS X application bundles and plugins from Python scripts.
Other
340 stars 36 forks source link

py2app is no longer compatible with setuptools v70. #525

Closed receyuki closed 3 months ago

receyuki commented 3 months ago

I understand that py2app hasn't been updated for a long time, and it also relies on many deprecated APIs from setuptools. If there are no plans for future updates, could you kindly inform the community? This would allow us to transition our workflows to other actively maintained tools, such as cx_Freeze.

glyph commented 3 months ago

I'm also bumping into this.

More specifically the error is in the matplotlib recipe

        File "/private/var/folders/yl/ndrrqv712fs02p5sdtxhml7h0000gn/T/pip-build-env-o3chj96i/overlay/lib/python3.11/site-packages/py2app/build_app.py", line 37, in <module>
          from py2app import recipes
        File "/private/var/folders/yl/ndrrqv712fs02p5sdtxhml7h0000gn/T/pip-build-env-o3chj96i/overlay/lib/python3.11/site-packages/py2app/recipes/__init__.py", line 10, in <module>
          from . import matplotlib  # noqa: F401
          ^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/yl/ndrrqv712fs02p5sdtxhml7h0000gn/T/pip-build-env-o3chj96i/overlay/lib/python3.11/site-packages/py2app/recipes/matplotlib.py", line 5, in <module>
          from pkg_resources import packaging
      ImportError: cannot import name 'packaging' from 'pkg_resources' (/private/var/folders/yl/ndrrqv712fs02p5sdtxhml7h0000gn/T/pip-build-env-o3chj96i/overlay/lib/python3.11/site-packages/pkg_resources/__init__.py)
glyph commented 3 months ago

And it looks like this was fixed already https://github.com/ronaldoussoren/py2app/commit/88642f7e3e0bdeec111529b8c18605bbbb3333dc#diff-2104b0e0bb344afbb69763e88d6ad05b3f1896ca90cce9f323c6f1dc819f370fL3

hasii2011 commented 3 months ago

I am interested in this also. I understand there is a new and updated py2app 2.00 in the works

glyph commented 3 months ago

No commits since last year but perhaps this activity could motivate @ronaldoussoren to quickly cut a new release 😄

glyph commented 3 months ago

I have worked around the issue temporarily by pinning to the current py2app HEAD, in this commit https://github.com/glyph/Pomodouroboros/commit/f4b7cffac69a9b58b45536e573fc46e53cfe1fa0 . It seems like the top of tree works fine for my use case at least.

oskapt commented 3 months ago

Also running into this. Pinning to HEAD didn't work for me. I had to pin setuptools to ==69.5.1 for my app.

glyph commented 3 months ago

Also running into this. Pinning to HEAD didn't work for me. I had to pin setuptools to ==69.5.1 for my app.

Pinning to a git commit is really tricky at the best of times, and in a setup-requires dependency it is really tricky to get it to be honored correctly in all possible configurations. But pinning setuptools is almost as bad 😑 .

Maybe one of us can do a friendly fork under a different name just to get something up on PyPI until ronald has some time

ronaldoussoren commented 3 months ago

I'll do a release tomorrow.

I'm also working on rewrite, but that's going a lot slower than I had expected when I started. The major upside of that rewrite is that the code should end up being a lot cleaner and more maintainable. The current code is too fragile, making it too hard to add some much needed features without accidentally breaking stuff.

glyph commented 3 months ago

I'll do a release tomorrow.

Hooray, thank you @ronaldoussoren !

I'm also working on rewrite, but that's going a lot slower than I had expected when I started. The major upside of that rewrite is that the code should end up being a lot cleaner and more maintainable. The current code is too fragile, making it too hard to add some much needed features without accidentally breaking stuff.

The lament of the long-term maintainer, I am too familiar with this :).

ronaldoussoren commented 3 months ago

I've tagged v0.28.8 and the upload to PyPI is on its way (wheel is uploaded, the source archive is on its way)

glyph commented 3 months ago

I've tagged v0.28.8 and the upload to PyPI is on its way (wheel is uploaded, the source archive is on its way)

Thanks a bunch. Upgrading all my pins seems to let a new environment be provisioned correctly.

hasii2011 commented 3 months ago

Works like a champ !!