Closed sojusnik closed 4 months ago
You can try installing setuptools and possibly distutils if required. Keep in mind also that Rummage is not yet supported on Python 3.12 officially due to wxPython still not having a proper Python 3.12 release.
python3-setuptools
and python3-setuptools-whl
were already installed, but even after installing python3-distutils-extra
I get the same error message.
Unfortunately, we don't have a wxPython release that doesn't segfault on 3.12 (on some platforms), so Rummage does not yet support 3.12, formally. This makes this a little bit of a lower-priority item until 3.12 is generally supported by Rummage. Python 3.12 support requires wxPython to finally make a release with the needed fix. They are long overdue for a release.
It appears this issue is likely an environmental issue. I'm not sure if Ubuntu changed something yet again or if this is specific to some Python 3.12 change. Maybe you need to remove your virtual environment install setuptools and then recreate it (I have no idea what you've done, so ignore if you have already tried this). I don't think it is Python 3.12 related as I can run and install Rummage with Python 3.12 on mac, but it will segfault on close.
Anyway, when I get some time, I will take a look. I'll have to set up a 24.04 environment. Linux systems have really made this process more convoluted.
I have the same problem after upgrading Manjaro KDE (which now uses Plasma 6 instead of 5). System claims rummage is not installed and installing it doesn't work because of this error:
File "/tmp/pip-build-env-p84w2_0j/normal/lib/python3.12/site-packages/babel/messages/setuptools_frontend.py", line 7, in <module> from setuptools import Command ModuleNotFoundError: No module named 'setuptools'
Uninstalling/re-installing setuptools have no effect...
When I get a chance, I can see if I can work through the setuptools issue. This is currently required by babel. Hopefully it is easy enough to work through.
Babel is needed for localization, but to be honest, we only have an outdated Russian localization, and the original committer has moved on. I don't know of anyone else that using localization as there are no other official localizations in our repository.
This is confusing because the pybabel
command, which we use, is supposed to be decoupled from setuptools/distutils now: https://github.com/python-babel/babel/releases/tag/v2.14.0. I'm not sure why it is still attempting to be installed.
I also tried re-installing babel, installing it as system-wide package, no luck... Rummage refuses to be installed because of babel/setuptools error...
I think I know what needs to be done. The custom hook I think now needs the dependency: "setuptools; python_version >= '3.12'",
. I'll get a PR up this evening, then people can test installing Rummage directly from the PR to see if it resolves the issue.
PR is up https://github.com/facelessuser/Rummage/pull/461. I'd be interested to see if someone can point at it instead and see if it resolves the issue.
Unfortunately, I have not much experience with python (I can only install rummage as explained in the docs, and this is it), so hopefully someone will be able to check that PR
You would just point to the repo instead of rummage
.
python3.12 -m pip install git+https://github.com/facelessuser/Rummage.git@bugfix/babel
This assumes you have git installed
The fix seems to work:
Keep in mind, if you experience any issues on Python 3.12, it is not currently supported. Issues I've seem may be confined to mac though, so maybe Linux and Windows is fine.
I've tagged a release which should be available soon-ish.
I run Python 3.12 and just installed 4.20.3 - works great on Manjaro Linux, no more Babel errors. Thank you for your super-fast responses.
Offtopic, I'd like to donate to you again. Is there any possibility I can send some money (let's say 100 EUR) to you directly and get some kind of invoice (it can say software, services, whatever)? Github only allows paying by invoice for large companies and minimum invoice amount is 5000 USD :/ https://docs.github.com/en/sponsors/sponsoring-open-source-contributors/paying-for-github-sponsors-by-invoice
@toxpal I think I can issue invoices through PayPal. You can contact me directly and we can try to work this out if you are interested. As I've never done this before I'm a little uncertain of the flow.
According to here, it was enough to do the following to install Rummage on Ubuntu 23.10:
sudo apt install python3-wxgtk4.0 python3-wxgtk-webview4.0
pipx install --system-site-packages rummage
but when doing so on Ubuntu 24.04 you'll get:
/home/sojusnik/.local/pipx/logs/cmd_2024-05-11_16.22.12_pip_errors.log:
What could be the problem?