Discuss: Require Python 3.9?

55 views
Skip to first unread message

Edward K. Ream

unread,
Mar 22, 2021, 8:04:09 AM3/22/21
to leo-editor
I have just finished #1857, which updates leoAst.py to support Python 3.8 and 3.9. See What's new in Python 3.8 and What's new in Python 3.9.

I'm not particularly interested in the new language features. Imo, the new language features are not important enough to require that Leo's users install, say, Python 3.9.

However, each new release contains many security and performance features. And they fix lots of bugs too. Furthermore, tools like pylint, docutils, etc. have evolved significantly since Python 3.7.

Python 3.9 is about 18 months old. Python 3.9.2 is almost exactly one year old. Surely Python 3.9.2 is the safest, most stable version of Python available.

As a result, I have shifted all my development work to Python 3.9 by default. I can still run unit tests and pylint on Python 3.7.

Summary

At present, Leo requires only Python 3.7 or above. Imo, it would be reasonable to require Python 3.9 for Leo. The older Python 3.7 gets, the more security vulnerabilities it acquires.

I see no reason why anyone (including companies) that presently uses Python 3.7 could not easily upgrade to Python 3.9.2. We would get better safety, security and more features.

Would anyone have a problem moving to Python 3.9.2?

Edward

tbp1...@gmail.com

unread,
Mar 22, 2021, 10:48:46 AM3/22/21
to leo-editor
Please don't rush into this.  3.9 is not yet offered on some (many?) Linux distros, including Debian and Mint (I don't know about non-Debian-based ones).  And even on Windows, it's often hard to impossible to find 64-bit packages that require compiled binary modules for recent versions of Python.  I'm not sure that most linux users could compile some of the binary packages, either.  Even 3.8 could be iffy on some Linux distros.

Let's give the ecosystem some time to develop, like maybe six months, then look at it again. 

Edward K. Ream

unread,
Mar 22, 2021, 10:56:21 AM3/22/21
to leo-editor
On Mon, Mar 22, 2021 at 9:48 AM tbp1...@gmail.com <tbp1...@gmail.com> wrote:

Please don't rush into this.  3.9 is not yet offered on some (many?) Linux distros, including Debian and Mint (I don't know about non-Debian-based ones)...

Ok. My math was faulty. 3.9 has only been out since October, not 18 months.

Edward

Steve Litt

unread,
Mar 23, 2021, 3:50:32 PM3/23/21
to leo-e...@googlegroups.com
Edward K. Ream said on Mon, 22 Mar 2021 05:04:09 -0700 (PDT)

>*Summary*
>
>At present, Leo requires only Python 3.7 or above. Imo, it would be
>reasonable to require Python 3.9 for Leo. The older Python 3.7 gets,
>the more security vulnerabilities it acquires.
>
>I see no reason why anyone (including companies) that presently uses
>Python 3.7 could not easily upgrade to Python 3.9.2. We would get
>better safety, security and more features.
>
>Would anyone have a problem moving to Python 3.9.2?

Personally, I'd have no problem with it as I use 3.9.2. But
philosophically, I'd have a big problem with it. Not everybody uses a
rolling release Linux like I do. Many folks use Debian Stable (Buster
has Python 3.7) or Devuan Stable, which are usually well over a year
behind. That lag is for ultimate stability, not out of laziness.

Beyond that, there are still people in the country with such bad
connectivity that they need to install from purchased CDs. These people
can be even farther behind the bleeding edge, but they still need an
outliner.

One could say Python could be updated independently of the distro and
its package manager. But doing so can jeopardize working programs. A
distro is assembled so everything works with each other, and I'd think
twice about upgrading a part, independently of the distro, that used by
so much software. This anecdote is Perl, not Python, but I once
upgraded a customer's Perl, and doing so broke his Vim and several
other programs.

Like I said, I wouldn't suffer with a 3.9.2 requirement, but I fear a
lot of people would.

SteveT

Steve Litt
Spring 2021 featured book: Troubleshooting Techniques of the Successful
Technologist http://www.troubleshooters.com/techniques

Edward K. Ream

unread,
Mar 23, 2021, 6:59:12 PM3/23/21
to leo-editor
On Tue, Mar 23, 2021 at 2:50 PM Steve Litt <sl...@troubleshooters.com> wrote:

Like I said, I wouldn't suffer with a 3.9.2 requirement, but I fear a
lot of people would.

Thanks for these comments. I'm convinced. Leo will continue to run on Python 3.6 for the foreseeable future.

The only changes that I have made recently are to my work flow. No Python version is privileged, but I do most of my testing on Python 3.9.

Edward

Seth Johnson

unread,
Mar 24, 2021, 6:51:18 AM3/24/21
to leo-e...@googlegroups.com
Some people are on older Macs, and there's a tendency to leave those
behind. I've had to compile from source to get 3.9 and things like
pyqt to work on my OSX High Sierra 10.13, the highest possible on my
old MacBook Pro hardware. And that seems to be recently broken again,
as of last night. Not that anyone will necessarily get them to start
keeping up with backwards compatibility.

My own problem certainly, but it used to be that backwards
compatibility was a point of pride in the developer community. Now
hardware comes with "dead lumps" baked and we're much more prone to
leave old devices behind. I have an old sys admin friend who's still
running a 386 web server continuously for I guess 30-odd years now.
You'll have to move forwards eventually; I'm just glad you're sticking
it out a bit longer. It would traditionally be the language folks
who'd keep old hardware alive, not app folks like you. But that's the
piddling problem that arises for me. :-)


Seth
> --
> You received this message because you are subscribed to the Google Groups
> "leo-editor" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to leo-editor+...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/leo-editor/20210323155027.0440eb4d%40mydesk.domain.cxm.
>

Seth Johnson

unread,
Mar 24, 2021, 6:53:46 AM3/24/21
to leo-e...@googlegroups.com
On 3/24/21, Seth Johnson <seth.p....@gmail.com> wrote:
> Some people are on older Macs, and there's a tendency to leave those
> behind. I've had to compile from source to get 3.9 and things like
> pyqt to work on my OSX High Sierra 10.13, the highest possible on my
> old MacBook Pro hardware. And that seems to be recently broken again,
> as of last night. Not that anyone will necessarily get them to start
> keeping up with backwards compatibility.
>
> My own problem certainly, but it used to be that backwards
> compatibility was a point of pride in the developer community. Now
> hardware comes with "dead lumps" baked in and we're much more prone
> to leave old devices behind. I have an old sys admin friend who's still
> running a 386 web server continuously for I guess 30-odd years now.
> You'll have to move forwards eventually; I'm just glad you're sticking
> it out a bit longer. It would traditionally be the language

and OS

Edward K. Ream

unread,
Mar 24, 2021, 7:00:10 AM3/24/21
to leo-editor
On Wed, Mar 24, 2021 at 5:51 AM Seth Johnson <seth.p....@gmail.com> wrote:

You'll have to move forwards eventually; I'm just glad you're sticking
it out a bit longer. 

For now, there's no problem for Leo. My focus isn't on Leo's code base, it's on making Leo work on vs-code and Jupyter.

Edward
Reply all
Reply to author
Forward
0 new messages