Page MenuHomePhabricator

Update Python 3
Closed, DuplicatePublic


Could you update the version Python 3 installed on Toolforge?
Currently there old v3.4.3. It have bad support for asyncronial works. E.g. there is uses syntax like "@ asyncio.coroutine, yield from, asyncio.async" which was only in v3.4, so have to rewrite the hosted scripts in this deprecated style. Also it have Python's bug, which fixes back in 2014.

Event Timeline

Vladis13 created this task.Jan 23 2018, 1:17 AM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJan 23 2018, 1:17 AM
Vladis13 updated the task description. (Show Details)Jan 23 2018, 1:19 AM
Vladis13 edited projects, added Toolforge; removed Cloud-Services.Jan 23 2018, 1:35 AM
Reedy added a subscriber: Reedy.Jan 23 2018, 1:36 AM

What version are you requesting?

Vladis13 added a comment.EditedJan 23 2018, 1:43 AM

3.5 or later. Self-compilation is not recommended. And why, if the new versions are backward compatible and do not contain old bugs.

TL;DR: You can:

  • wait for the entire toolforge to upgrade to a newer version of the distros
  • run your script in kubernetes which runs debian jessie and has a slightly newer python. (Apparently it's older not newer)
  • compile your own python for your tool
  • provide a super good reason to self-build python across whole toolforge that worth the cost in maintainability.

I'd recommend #3.

zhuyifei1999 added a comment.EditedJan 23 2018, 1:51 AM

Self-compilation is not recommended.

Why is that?

And why, if the new versions are backward compatible and do not contain old bugs.

Because we do not trust any other source of packages other than those we built ourselves and those provided by the official repo which periodically receives security backports as long as the version of the distro is still supported. If you install the packages from a random source the publisher of the package effectively get an rootkit on our servers.

Vladis13 added a comment.EditedJan 23 2018, 2:59 AM

Thank you, I understand, will try #3.