Python 3 broken

Since a recent update, Python 3 is broken and unusable. All previous virtualenv refuse to run, erroring with “Bus error (core dumped)” at worst. At best, modules do not work at all (e.g. “matplotlib”). According to the mailing list, this issue dates back from Sunday, so five days ago: https://lists.opensuse.org/opensuse-factory/2017-02/msg00522.html .

I have tried adding the LEAP repos again to downgrade Python but that was not possible due to too many dependencies issues it seems (if I read the YaST message correctly).

Is there any way I can use Python 3 again? I need it for my research, and already had to postpone some results.

Thank you

I do not know about the problem, but adding LEAP repos to a TW installation is a cure that is worse then the decease.

Better first remove all non TW repos and do a zypper dup from the TW repos to get a consistent installation. And then from there report your problem.

1 - as a work around you could install anaconda
2 - there are discussions of problems with python 3 on factory mailing list from recent update.

Since you’re using virtualenv, you can safely modify or add new Python3 versions without affecting your default installed Python3, and hopefully you <are> using a different Python3 for your Development than what is used by your system.

You’d have to post more than just the error to verify for sure whether the problem is how <any> Python3 interfaces with TW.

I’d suspect that simply rolling back your system if you’re using BTRFS as your root file system should address your problem temporarily until this problem is fixed if it’s known and acknowledged as a current bug.

BTW - I would not do my Production work on TW unless there is special reason. Because Developing itself is inherently unstable, to minimize the issues you have to deal with, you should deploy on something that is reliable and stable, like LEAP.

TSU

a work around, especially for the scipy stack could be to install anaconda, this would give you a completely isolated development environment.

PS i use anaconda as a carry over from windows days, have not yet moved to using package manager for fear of screwing up the default etc, if you have insight on the issue i would be interested.

When you deploy Anaconda,
You prefix a path to Anaconda so that the Python libraries are found there, and used before the system looks for Python libraries in the standard locations.

If you use virtualenv when installing Python (last I looked, it’s a standard openSUSE implementation),
Then you can install multiple versions of Python and then specify the version you want instead of the default when invoking the Python app.
This way you can install Python from the OSS, from any OBS, even using pip you can install from the official Python repos… <If> you install them to be managed by virtualenv which is not always a given depending on where the packages come from and the package manager.

Using virtualenv is almost a critical “must” if you’re building and maintaining python apps so that you can release your app for different python versions.

The online documentation
https://virtualenv.pypa.io/en/stable/

TSU

thanks for info, i might have to get into virtual env when i get back into more serious programming (i started way before virtualenv). the path variable for anaconda can be a pain but i have it so i can switch back and forth between anaconda and default using aliases.