Why the latest Python 3.8.x release provides no Windows installer? - python

I need to install Python 3.8 on a Windows computer and hope to use the latest minor version of 3.8.12. The official release web page provides tarball files of the source code but no Windows installer. Python 3.8.10 provides Windows installers, but it is not the latest version.
I am wondering:
Why v3.8.12 does not provide any Windows installer?
If we want to use v3.8.12, what can we do?
I appreciate your help and suggestions.

https://devguide.python.org/#status-of-python-branches provides a summary of the various release statuses.
features
new features, bugfixes, and security fixes are accepted.
prerelease feature fixes, bugfixes, and security fixes are accepted
for the upcoming feature release.
bugfix bugfixes and security fixes are accepted, new binaries are
still released. (Also called maintenance mode or stable release)
security only security fixes are accepted and no more binaries are
released, but new source-only versions can be released
end-of-life release cycle is frozen; no further changes can be pushed
to it.
Python 3.8 is currently in security mode, so only source releases (and no binary installers) are provided from Python itself.
As the page you linked to says,
According to the release calendar specified in PEP 569, Python 3.8 is now in the "security fixes only" stage of its life cycle: 3.8 branch only accepts security fixes and releases of those are made irregularly in source-only form until October 2024. Python 3.8 isn't receiving regular bug fixes anymore, and binary installers are no longer provided for it. Python 3.8.10 was the last full bugfix release of Python 3.8 with binary installers.
Python 3.8.10 was the last release at the bug fix stage, and so the last for which Python officially provided binary installers. If you want a binary installers for 3.8.12, you'll have to either make one yourself from the source or find someone else who has done it or will do it for you.

You can easily build it by following the instructions.
Add the resulting PCbuild\win32 directory to PATH and you are good to go.

Related

Which Python versions do I need to support as the upstream author of a Python library for Debian?

I'm the upstream- and Debian maintainer of a Python library which is installed as a dependency of a required package in the Debian ecosystem, so this library is pretty much installed on every Debian system. I'm trying to support older Python versions as long as possible and my rule of thumb for this package is to support versions down to whatever is currently in Debian/stable. However, there is also Debian/oldstable (even /oldoldstable) and I wonder if there are some guidelines that help to make the decision which Python versions can be dropped which should be supported still?
The most relevant documentation for the issue is probably the Debian Python Policy, but I'm unable to find the information here.
As far as Debian is concerned, the package you publish should support the currently supported Python versions. So if you published a package when oldstable was still stable, the package you published then should have supported the oldstable Python versions. When you publish something now, the current stable is your target.
But going back in time, there is no particular reason for an oldstable user to be disappointed if some current packages are not usable on their platform; the decision to use an old system is usually motivated by a desire to maintain it for a longer time, not make it do new things which were not possible at the time it was configured.
Of course, there are situations where you want to support older systems. If you publish a tool for forensic analysis of hacked systems, you really want to be able to run that on older versions, too; but this is dictated by other factors then.

Where is latest python 3.3 bindary build for windows platform?

You maybe ask why do I use python 3.3 any way.
Because, I am running postgresql on windows. The plpython module shipped with pgsql 9.6 is linked to python33.dll
According to https://www.python.org/dev/peps/pep-0398/#id7
There is only source release.
Why do python only release source tar ball ? Wouldn't it make windows platform less secure ?
Is there any other trusted source where people can get the latest 3.3.7 x86 binary installer ?
Thanks.
The last binary release was 3.3.5.
https://www.python.org/downloads/release/python-335/
The Python downloads page has installers for any version you care to name, usually including Windows binary installers. PEPs aren't the place to look for them.
It looks like 3.3.6 was only done as a source release (it's possible they'd moved support on to 3.4 and later by that point), so 3.3.5 is the last one with precompiled official binaries. Not sure what happened to 3.3.7; the PEP may be incorrect and the 3.3.7 release was scrubbed.

Why are there multiple release versions of python

At present(May 2013), there are three release versions, all released on may 15
python 3.3.2
python 3.2.5
python 2.7.5
I can understand the need for 2.x and 3.x branches but why are there seperate 3.3.x and 3.2.x versions?
In this link is says The current production versions are 2.7.5 and 3.3.2..
And if you look here it says:
Python 3.2.5 was released on May 15th, 2013. This release fixes a few regressions found in Python 3.2.4, and is planned to be the final 3.2 series bug-fix release.
So you should use 2.7.5 or 3.3.2, but if you need (I don't know why) 3.2.* you have a bug-fixed version.
As wim points out, 3.2.5 is not a current production version, but I assume you're wondering why there were three versions released on 15 May 2013? That is why is the 3.2.x branch still being maintained?
Remember that each 3.n step introduces new features while 3.n.x releases are fixes to existing versions. 3.2.5 is thus a set of bugfixes to 3.2.4 while the 3.3.x branch includes new features not present in 3.2.4. Because new features are, inherently, more likely to introduce new bugs, the maintenance of the older branch allows you a higher stability choice if, for example, you're just putting together a new public release of your webserver and don't want to risk new bugs being introduced by the current branch.
This is a question of python's versioning strategy. Quote from python's wikipedia article:
CPython's public releases come in three types, distinguished by which
part of the version number is incremented:
Backwards-incompatible versions, where code is expected to break
and must be manually ported. The first part of the version number is
incremented. These releases happen infrequently—for example, version
3.0 was released 8 years after 2.0.
Major or "feature" releases, which are largely compatible but introduce new features. The second
part of the version number is incremented. These releases are
scheduled to occur roughly every 18 months, and each major version is
supported by bugfixes for several years after its release.
Bugfix releases, which introduce no new features but fix bugs. The
third and final part of the version number is incremented. These
releases are made whenever a sufficient number of bugs have been fixed
upstream since the last release, or roughly every 3 months. Security
vulnerabilities are also patched in bugfix releases.
So, 3.3 compared to 3.2 introduced new major features, that's why it's in a separate "branch".
Also see:
Python 3.2 Release Schedule
Python 3.3 Release Schedule
Python 3.4 Release Schedule
You should read bit about version numbers. The last digit means, simplified, no new features only bug fixes. So folks who use Python 3.2 can installed a newer revision without changing anything in the behavior of Python.

pyHook for Python 3.3

I am coding a simple keylogger using Python. I hope to use pyHook to capture keyboard events.I couldn't find any packages of pyHook for python 3.3 which I have installed. Is there any other module for python 3.3 which provides similar functionalities?
A quick google turned up this site, which has unofficial installers for pyHook 1.5.1 (and a whole lot of other packages) for Python 3.3. I haven't tested it, but it seems worth trying. And there are a couple of other similar repositories on the first page of Google results if this one doesn't work.
I also found a few forks on github, like this one, which have fixes for Unicode bugs in 3.x. I have no idea if those bugs have been fixed in the main pyHook project (or made it into the 1.5.1 release), but if you run into problems, you may want to take a look.
You'd have a lot more options if you installed a compiler (MinGW and/or Visual Studio Express) and used easy_install or pip to install packages automatically, building them from source if necessary. Then you wouldn't need to search for binary installers for everything.
The inofficial installers mentioned by abarnert seem to work fine. They provide installers for almost every version of Python - except for 3.5, which is currently considered unstable anyway (07/10/14), so that's not a big issue.

What is the difference between ActivePython and Python?

I am new to Python. I am supposed to launch an application and perform some tasks on the application from Python.
I found Python from python.org and ActivePython from activestate.com.
What is the difference between them? Which should I install?
ActiveState is an open source company which bundles Python with some additional packages and makes it available for variety of platforms. Sometimes they support platforms which the standard Python distrubution does not. For example AIX comes to my mind.
Many beginners to python on Windows have this doubt when they start with Python. ActiveState provides a bundle of Python executable with Python Windows Extensions and PEPS and Dive into Python ebook as package, so that you will have a good solution.
Technically there is not any difference between Python from activestate.com and from python.org if it available for download for your platform.
And yes, you can install Python 2.7.1 as it is latest supported version in 2.x series.
One key difference is that ActivePython comes with a binary package manager called PyPM that makes it easier to install packages like numpy, scipy and lxml.
ActiveState usually only provides the latest versions of their packages for free, if you need an older version for whatever reason you will have to sign up for one of their paid accounts. Python.org seems to have all their old versions available for download.
An important difference is that ActiveState Python is proprietary software and, if you put it in production, they can force you into subscription software fees and sue you if you don't pay. Their sales people have been tracking down heavier users and companies with more users and threatening them into unexpected payments.
Starting with Python 3.9, ActiveState has a new approach. Developers can create their own builds of Python 3.9 for free on the ActiveState Platform - and these builds are pure Open Source.
There still are proprietary limits - but these are based on how much an individual or organization uses the ActiveState Platform and not on the licensing of the software.
Full disclosure: I work for ActiveState.

Categories

Resources