Cannot run openlp after Arch Linux upgrade to python 3.10

edited December 2021 in General Support

openlp will not run with python 3.10

changed the pkgbuild for python 3.10 as before but crashes as per below

Comments

  • Traceback (most recent call last):

     File "/usr/bin/openlp", line 27, in <module>

       from openlp.core.common import is_win, is_macosx

     File "/usr/bin/openlp.py", line 4, in <module>

       __import__('pkg_resources').run_script('OpenLP==2.4.6', 'openlp.py')

     File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 651, in run_script

       self.require(requires)[0].run_script(script_name, ns)

     File "/usr/lib/python3.10/site-packages/pkg_resources/__init__.py", line 1448, in run_script

       exec(code, namespace, namespace)

     File "/usr/lib/python3.10/site-packages/OpenLP-2.4.6-py3.10.egg-info/scripts/openlp.py", line 27, in <module>

       from openlp.core.common import is_win, is_macosx

    ModuleNotFoundError: No module named 'openlp.core'; 'openlp' is not a package

  • Python 3.10 was installed because I was on testing channel for arch. Went back to stable and it reverted all to v3.9

    openlp now works again

  • @RevPaulWebb

    I'm on Arch too and I got the same problem when trying to install openlp-git (AUR), returning the following message :

    Could not find all required packages:

    python<3.10 (Wanted by: openlp)

    Yet I got previous python versions in my /usr/bin/ . I'm not so Arch-savvy so I don't know how to solve this without breaking my system, or renouncing to openlp :'(

    Thanks for your help.

  • I see that python3.10 is now in 'stable' and wants to update. I would be reluctant to do so until openlp is updated.

    It is possible to downgrade to a previous system state in arch but it is considered risky.....

    This guide can help https://ostechnix.com/downgrade-packages-specific-date-arch-linux/

    obviously the dates are not correct. I would use nano to edit rather than vi as a personal choice.

    https://archive.archlinux.org/repos/2021/12/12/core/os/x86_64/ has python 3.9

    https://archive.archlinux.org/repos/2021/12/13/core/os/x86_64/ has python 3.10

    So you would need to restore to that date and then wait for openlp to be updated for python 3.10. I tried to email the package maintainer Raoul Snyman but the email bounced.

    Why do you use the git version btw?

  • Many thanks for your detailed answer !

    I tried to downgrade as explained in the guide, but there was a conflict with libcap. I think I should wait the openlp update instead.

    I don't have a particular reason to choose openlp-git over openlp, both being updated silmutaneously by the same maintainer. Is there any difference between those two ?

  • No idea if there is a difference between the versions.

    There shouldn't be a conflict because basically it is a time shift to a previous state. If your system was working on that date then it should work after restoring your software to that date.

    Right now I need openlp more than I need an up to date system as my church is reliant on it - the windows version which works fine under win11.

    We wait and hope - how Advent!

  • edited January 23

    I'm running Arch and have updated python to 3.10.

    Installing OpenLP from AUR (OpenLP-git) seems to work with modified PKGBUILD. Just read the comments in the AUR.

    Atleast it's working on my install. After some more testing, I'm ready to use it in our church. I really like the polished design and all the work and effort done to make it work.

  • In OpenLP 2.4.6, the entry point file is called "openlp.py" while the majority of the code is in a Python module called "openlp". What happens is that Python gets confused between the "openlp.py" file and the "openlp" module.

    While Python 3.9 used to be able to tell the difference, some of the new changes in Python 3.10 cause this confusion.

    In OpenLP 2.9.x we renamed the entry point file so that Python cannot get confused. We also just released the first Release Candidate of OpenLP 3.0, so you might want to try the OpenLP-git package in Arch, which contains the code from the Release Candidate.

  • edited January 23

    Thank you for taking time to explain this to us, Raoul.

    The problem with the OpenLP-git in Arch (AUR), is that the maintainer has not updated the PKGBUILD to accept python 3.10, and I believe there is some dependencies left out. So it won't work without some modification of the PKGBUILD.

    I left a message there with my findings, so hopefully it will be updated soon. I built OpenLP locally from git with modified PKGBUILD and OpenLP seems to work just fine.

    Thanks again for all your work and effort.

    Edit: this is the version I'm getting from git: OpenLP 2.9.4.8-91322f87d

Sign In or Register to comment.