Live data from Hacker News

Python 3.12.0 is to remove long-deprecated items

discuss.python.org

31–40 of 257 posts

Re: Python 3.12.0 is to remove long-deprecated items

#31

Great, so now not only Python will be incompatible with itself, but also incompatible with itself even if you use Python 3. Sigh.

You should sign up to maintain those ancient modules

Why do they need to be maintained? Just leave them as is.

Re: Python 3.12.0 is to remove long-deprecated items

#32
post #14
post #3

Earlier quoted context omitted.

The title is referencing this line (not TFA's actual title): > In the unittest module, a number of long deprecated methods and classes were removed. (They had been deprecated since Python 3.1 or 3.2). I doubt your projects are using 3.1 or 3.2 (or older, except perhaps 2.7, but then you wouldn't care that 3.12 was removing something deprecated vs 3.11 which has it)?

There's quite a bit more than just the unittest removals https://docs.python.org/dev/whatsnew/3.12.html#removed An example of a more recent deprecation is the 'distutils' module which was deprecated in 3.10.

> An example of a more recent deprecation is the 'distutils' module which was deprecated in 3.10.

distutils was functionally deprecated long before that. Even the Python 2.7 documentation (released in 2010!) recommended that users avoid distutils and use setuptools instead: https://docs.python.org/2.7/library/distutils.html

Re: Python 3.12.0 is to remove long-deprecated items

#33

Earlier quoted context omitted.

The move to web based apps or connected in general was a genius move by the programming community. Now there will be an endless churn to keep programs up to date for "security reasons" and that cost money. We can even pull the plug on programs nowadays to the give the users the very best experience! Otherwise the lusers might have felt satisfied with what they have.

You say that, but the web platform rarely if ever removes features in this way. My web code from 15 years ago works the same as it always did.

Obviously you chose the wrong framework or even worse - none at all.

Ye I am whining but only half joking.

Breaking backwards compatibility ruins my mood. And Python are getting way to much slack for what they have been doing to the users.

People wanting to stick to 2.7 are ridiculed and soon the software security police will start arresting offenders.

Re: Python 3.12.0 is to remove long-deprecated items

#34

Is there a standard way a Python script can ask for an older version of the environment? If I could insert a few lines of code into the top of the WikidPad source, to specify an OLDER version of wxPython, for example... I'd be able to switch to Linux from Windows. As it is now, there were breaking changes in wxPython (likely due to the culture of breaking working code extant in Python) which result in WikidPad being…

wxPython is a Python module. It isn't the same as Python itself. Don't blame the language for issues you're having with libraries written in it.

On top of that, wxPython is a Python module which interfaces with an external library (wxWindows). Are you sure your problems are even with the Python module, and not the result of breaking changes in wxWindows itself?

Re: Python 3.12.0 is to remove long-deprecated items

#35

Is there a standard way a Python script can ask for an older version of the environment? If I could insert a few lines of code into the top of the WikidPad source, to specify an OLDER version of wxPython, for example... I'd be able to switch to Linux from Windows. As it is now, there were breaking changes in wxPython (likely due to the culture of breaking working code extant in Python) which result in WikidPad being…

pipenv or anaconda are the way to get reproducible python environments

Re: Python 3.12.0 is to remove long-deprecated items

#36
post #27

This is a reminder that the excellent pyenv [0] project can help you manage all your Python versions. - Set global and per-project python versions - Not written in Python. - Shims your PATH - Linux, Mac, Windows [0]: https://github.com/pyenv/pyenv

A hidden gem of pyenv is its 'python-build' plugin, which just lets you build and install any Python version in the least number of steps:

  git clone https://github.com/pyenv/pyenv.git
  cd pyenv/plugins/python-build/bin
  ./python-build --definitions
  ./python-build 3.10.8 /opt/python/3.10.8
  PYTHON_CONFIGURE_OPTS="--enable-shared" ./python-build 3.10.8 /opt/python/3.10.8

Re: Python 3.12.0 is to remove long-deprecated items

#38

Is there a standard way a Python script can ask for an older version of the environment? If I could insert a few lines of code into the top of the WikidPad source, to specify an OLDER version of wxPython, for example... I'd be able to switch to Linux from Windows. As it is now, there were breaking changes in wxPython (likely due to the culture of breaking working code extant in Python) which result in WikidPad being…

Sure, just put something like `wxPython https://pip.pypa.io/en/stable/reference/requirements-file-fo...

Re: Python 3.12.0 is to remove long-deprecated items

#39
The largely-unmaintained Python 3 port of syncthing-gtk already failed to start on Python 3.11 since it removed obsolete methods like bind_textdomain_codeset(): https://github.com/void-linux/void-packages/issues/40430

Though this project isn't exactly in the best shape, having prior bugs: https://salsa.debian.org/debian/syncthing-gtk/-/issues/2

Post reply on HN