Cant install python-lxml Opensuse Tumbleweed

Hello-

Just updated opensuse-tumbleweed and mythtv no longer works

I uninstalled myth packages and went to add them back. When I try to install using Yast, I receive the following message “Nothing provides python-lxml needed by python-mythtv-30…”

I try to install python-lxml and it fails.

I even found a One Click install (URL below) and it does not install python-lxml

https://software.opensuse.org/download.html?project=devel%3Alanguages%3Apython&package=python-lxml

How do I get python-lxml or better yet mythtv working with the latest version of Tumbleweed?

Thanks
Craig

Hi and welcome to the Forum :slight_smile:
Tumbleweed has moved to python3, so it’s now python3-lxml.

Thanks for the quick reply.

so do I need to wait for the Pacman repository to update their MythTV build before this will install or Is there something I am missing? Something I can do on the Opensuse side of things.

and it also sounds like this might be a pacman or MythTV question…

but then again I am a little confused by all of this : )

any advise is much appreciated.
craig

I do not see mythtv in Tumbleweed, it is available only in home repositories. As for python-lxml - it is called python3-lxml as are all packages built against python3.

You need to contact whoever you got your mythtv package from, it probably needs rebuild against correct packages, assuming it is compatible with python3.

Simply saying that packages are now python3 is not going to solve the problem,
If the app is written in Python 2, that’s not going to help.

IMO openSUSE needs to publish an official statement about not just dropping python 2, an SDB or official document should also be published providing official supported guidance for how Users can address problems like what this @OP is asking about… How to run python 2 apps.

It should be noted that there are no signs that the Python community is ending 32bit python anytime soon, v3.8.3 was released just a couple weeks ago as of this post.

So,
These are my recommended options off the top of my head…

  1. Download your needed package from the Official Python repositories (PyPi). Not all distros provide python from distro repositories like openSUSE, many install their python from PyPi as described.
    First install pip from openSUSE
zypper in pip

The openSUSE version will almost always be out of date (The PyPi version updates often) so upgrade it, this is your first “install” from Python. Remember that everything you do is not visible to openSUSE so be aware that beyond simple changes like upgrading pip there is a chance your system could eventually acquire conflicts that won’t be resolvable easily.
To update pip (which is the python 2 version, pip3 is the python 3 version) from PyPi, this can be your very first (and safe) way to install a package from PyPi

pip install upgrade pip

After this, as I described you can install packages from PyPi including the needed package. In this case for MythTV, my guess is that package won’t be used by many things so it should be safe to mix that library in with the openSUSE python libraries, but in many cases you’d probably expose yourself to considerable risk of conflicts.

  1. Install and use Anaconda or Miniconda.
    Although mainly used to install and run the scientific Anaconda apps, it can be used to install an entire Python environment without disturbing system Python libraries, this is accomplished by prepending the Anaconda path so that apps will find the python packages in Anaconda and won’t search for the openSUSE python packages. Should you choose to uninstall or disable Anaconda/miniconda, all you need to do is delete the Anaconda directory tree and optionally remove the path pointing to that directory tree.

The following are variations on (1)
1a. You can keep your PyPi packages separate from openSUSE libary files by using the “–user” option, but that generally means that only apps run in the User security context will know about your PyPi packages. Since the PyPi packages won’t be in your system path, applications running in some other security context won’t find your PyPi packages by default (more work to do)

1b.** The common time-honored way to run multiple versions of Python on a system** is to set up virtual environments using the virtualenv utility. This is based on a simple concept, you simply specify that a particular python you’ve made available is to be used by anything within a directory tree, and that directory tree is where your python app is installed. Today, I’ve found that this deprecated virtualenv tool still works fine, but I’m having problems setting up the python2 plugin to the modern python3 replacement pyenv. I haven’t looked at this again for a couple weeks, but if anyone knows how to do this successfully, pls provide info to the following thread
https://forums.opensuse.org/showthread.php/540144-Any-python-programmers-out-there-know-how-to-set-up-pyenv-virtualenv

The above are python-specific solutions, the following are generic solutions that can solve the problem of running python 2 in part or completely
1c. The application might be available as a Docker container.
1d. The application might be available through a Universal Installer like Flatpak and Snap.
1e. The application can be installed using virtualization like Virtualbox. This doesn’t solve the python 2 problem directly unless you install a distro that still supports python2, but it is another way to keep any special installs separate from your main system to avoid conflicts and possible failures.

HTH,
TSU

Any references to 32-bit in my previous post actually refer to python 2

TSU

Hi
Python2 has been deprecated from Tumbleweed for awhile now, details are published on the mailing list, which is a recommended place for openSUSE Tumbleweed users to follow or monitor the archive.

It’s a bit funny you posting all these python2 details for a package that is considered deprecated upstream by the mythtv developers? See the third line of the release notes…
https://www.mythtv.org/wiki/Release_Notes_-_31

@OP, the mythtv is broken for Tumbleweed (as expected), it needs updating to the latest release to support python3;

A bug report, Mailing List or IRC Freenode #packman would be the best bet for this third party package…

Although IMO applies to MythTV,
I was writing for the general problem because this situation will come up again and again for many apps.

Python 2 development officially ended approx last day 2019.
There was supposed to be no further releases.
Yet, there was a community effort (ie not supported by the core python developers) that continued to create a Python 2 that backports some Python 3 features to the last official release of Python 2.7 and proposed a new 2.8 version.
Although there has not been any change from the Python core maintainers, it looks like the new “unrelease version” is now available and distributed by PyPi.

For more on these late breaking convolutions,
https://lwn.net/Articles/711061/

So, like everything else in open source, if there is enough of a recognized need and enough community effort can be mobilized then the technology is forked and then it’s up to the original community to either accept or exile…

It looks like at least for now the Python powers that be are willing to work with this renegade branch because it’s available as “just another” python through normal channels and no special barriers,
Now the question is whether openSUSE will support it like Python or continue to be hard headed about refusing to support what the core python developers/maintaners continue to reject.

TSU

Agreed,
In this situation it does look like the work to migrate MythTV to python3 has been done.
The required version is 31, the current packman version is 27.

I’m guessing,
Is the error being generated by MythTV trying to update itself rather than installing/upgrading from Packman?

TSu

Yes you both are correct. I use the Pac-Man repository for many things I run on opensuse-including MythTV (which is an amazing dvr) I did see python will be upgraded to 3 in .31. Rather then me build myself, I will wait for pacman to reslease their build of .31. Looks like I jumped the gun on updating my tumbleweed release…yes it had been a while as if things aren’t broke I tend not to update for a while for exactly the reason I am experiencing.

thank you both for helping me figure out what the problem is…and how to correct.

craig

Hi Craig,

Just wondering what you ended up doing regarding mythtv and tumbleweed?
I saw a post to the pacman mailing list but couldnt see any replies :frowning:

I had been running Opensuse Tumbleweed with Mythtv from pacman for quite sometime (like from an install 3 or 4+ years ago)
Recently I upgraded my SSD and decided to reformat and re-install.

From what I can see mythtv from pacman still seems to be broken, and is still not at the .31 release yet.

Mark