KnobKraft-orm icon indicating copy to clipboard operation
KnobKraft-orm copied to clipboard

Upgrade from Python 3.8 to 3.12

Open mslinn opened this issue 2 years ago • 7 comments

I noticed that on Windows, %LOCALAPPDATA%\Programs\KnobKraftOrm\python38.zip contains Python 3.8. That is a 4-year-old release. Python 3.10 sped up Python quite a bit. Perhaps it might be worth upgrading to Python 3.12.

mslinn avatar Oct 14 '23 16:10 mslinn

This is true! It is always a trade off - we have users who are still on Windows 7, and for those Python 3.8 is the latest Python version that works :-(

What we could do is to duplicate the build pipeline and build both versions, one for modern computers and one for Windows 7.

christofmuc avatar Oct 14 '23 18:10 christofmuc

If Microsoft hasn't supported it for 10 years or so and python does not support it anymore, question is why do you have to support it? 😉 Nobody should be running it anywhere any longer (security). Maybe sounds weird but sometimes progress demands cutting off old stuff. Especially as windows (10/11) still has excellent backwards compatibility. Maybe declare the current release 2.08 the last one for win7 and then move on?

markusschloesser avatar Oct 15 '23 10:10 markusschloesser

I was just trying to be nice, we had long discussion in #141 about this. But yes, I agree the latest build should probably be on an up to date Python. I don't expect any performance difference, but it will be better to be on an up to date version anyway!

christofmuc avatar Oct 15 '23 11:10 christofmuc

Actually, we'll be running into all kinds of bad situations when creating a second build - we have auto updates, and uses will be nudged to update to a version that will no longer work on their machine.

Maybe we should provide a way for the Windows version to use an externally supplied Python, just like the Mac version does. So if the supplied Python doesn't work you can switch back to one that you have installed elsewhere on the computer?

christofmuc avatar Oct 15 '23 11:10 christofmuc

Current research:

  • Windows update from Python 3.8 to Python 3.12 is straightforward, as this is embedded. We deny users of Windows 7 the use of KnobKraft then - I can build Andy a private version in case it is still needed.
  • MacOS - that's more complicated, as I usually recommend people to use homebrew, but they change the version of Python quite frequently so by now people need to go to python.org and download and installl the "correct one". Those would need to change when we update to 3.12, so every user has to manually update the Python version, I don't like that, but Mac is on 3.10 already and we can probably keep them there for a while.
  • Linux - we still build old executable on Ubuntu 20.04 LTS, which is supported until April 2025. But that has only Python 3.8. We can update the build machine to 22.04 which comes with 3.10.

christofmuc avatar Apr 02 '24 20:04 christofmuc

Emphasize future needs, not current needs, when making decisions for the future. Your decision will become increasingly correct as time passes.

mslinn avatar Apr 02 '24 21:04 mslinn

I'm fine with just sticking with the final Win7 compatible version. Hopefully any adaptation I write will still be useful to someone else.

FWIW, I do now have a machine with Win 10 on it, but it annoys the hell out of me, so I rarely use it for much. Security is my concern, not Microsoft's.

Andy2No avatar Apr 02 '24 22:04 Andy2No

Released with 2.3.0. No Windows 7 anymore, if you need a private build, I can make you one!

christofmuc avatar Apr 15 '24 22:04 christofmuc