facelessuser / Rummage

Rummage is a GUI for grep like searches in Python
https://facelessuser.github.io/Rummage/
MIT License
74 stars 10 forks source link

Does not install with Python 3.9 #420

Closed manastalukdar closed 3 years ago

manastalukdar commented 3 years ago

Fails in this step:

Building wheels for collected packages: wxpython
  Building wheel for wxpython (setup.py) ... error

Update

facelessuser commented 3 years ago

You are going to have to provide more information like OS, etc.

Keep in mind that I have yet to test this on 3.9. I'm not even sure if wxpython has created a new release that has wheels for 3.9.

facelessuser commented 3 years ago

It appears that wxPython does not yet have any wheels for 3.9, regardless of OS.

Does that mean the last release of wxPython will not work with 3.9 on any OS? This is currently not known as I don't usually attempt to test Rummage on a new Python release until I see that wxPython has created a release with support for that new Python version.

For macOS and Windows, they usually provide a wheel. This means installation is usually painless, but you must wait for wxPython to officially create a release with support for a new Python release.

If you are on Linux, they never provide wheels for that through wheel (I don't recall the details why), but there are methods to get at prebuilt wheels which are covered in the docs: https://facelessuser.github.io/Rummage/installation/#pre-built-wheels.

If they don't have a pre-built wheel for your Linux distro, you can usually still install it, but the installation will require wxPython to built on the fly. I do provide some guidance for installing on Linux though even if there are no wheels: https://facelessuser.github.io/Rummage/installation/#linux-prerequisites.

I know that any of Rummage's dependencies that I've written should work on 3.9, but unfortunately, I still depend on some dependencies outside of my control, wxPython being one of them.

So, as I do not usually try to install wxPython when they have not provided wheels for a given Python version, I would advise using Python 3.8 for now. You can try to install on Python 3.9 by building it locally, but I can't give any advice if you are on macOS or Windows as I never install wxPython on those without wheels. If you are on Linux, you can try to follow the instructions in the docs. The latest wxPython release may work with 3.9 even though it does not formally mention support, but it must get built for 3.9 to try it out. If it doesn't work, I'd use Python 3.8 until wxPython releases support.

I'm marking this as a maintenance issue to serve as a reminder that we need to cut a new release that has been formally tested on the wxPython that supports Python 3.9, whenever that is available.

@gir-bot remove S: triage @gir-bot add T: maintenance

facelessuser commented 3 years ago

I recently was able to install and run Rummage on Python 3.9 on macOS. I assume it should install on other platforms as well. In the next release, we will update the meta data to advertise that we officially support 3.9.

manastalukdar commented 3 years ago

Verified that install now works on both macOS and Windows with Python 3.9.