I need to highlight this issue. The os update tonight had just destroyed my python environment, as most of python libs essential for my work are not yet compatible with python 3.9, requiring python 3.7.
More info here:
I don’t have any option to rollback as I see it was removed as an option (see discussion “rollback-update/40” ) and can’t downgrade python either (see discussion topic “is-it-possible-to-downgrade-single-packages/3115”)
Due to these errors, I am forced to stop being a loyal Clear Linux user and switch back to Ubuntu. Which is sad. Do you have any options on how to overcome this issue?
And try using mixer to manage your python updates. Python is volatile and any cutting edge distro like clear would have broken it anyways (fedora and void too). Ubuntu uses lts versioning of itself so it is stable but gets a fewer kernel or other “core” updates.
You can also see changelogs here before updating (34100 → clear → RELEASENOTES).
Due to some other constraints, virtualenv was not a good choice for me.
This solution you had suggested worked great for me:
“Roll back the complete distro to previous version :
sudo swupd verify -m --fix --force
After that :
sudo swupd repair”
Miniconda is a free minimal installer for conda. It is a small, bootstrap version of Anaconda that includes only conda, Python, the packages they depend on, and a small number of other useful packages, including pip, zlib and a few others. Use the conda install command to install 720+ additional conda packages from the Anaconda repository.
With the recent cybersecurity hack, having rolling updates @ the OS layer will probably become a requirement. I’m happy to see that Clear Linux gas this feature baked-in. For production environments some stability is expected, but that friction can be unnatural for end users or developers. Security is important. The suggestions here are indeed helpful and you also may want to consider setting up a secondary environment to automate any tests after an autoupdate. Once your tests pass successfully you can destroy the sandbox assuming you’re using a virtual environment. Storage is cheap when compared to the work involved with a security breach.
Or pipenv ?? There are plenty of options. One of pythons biggest advantages is flexibility across environments. Rolling back an entire system over a python library seems well, strange.
pipenv allows you to actually define your environment as code! Example below: