Python 2.7.13 is the last major release in the 2.x series, as the Python maintainers have shifted the focus of their new feature development efforts to the Python 3.x series. This means that while Python 2 continues to receive bug fixes, and to be updated to build correctly on new hardware and versions of supported operated systems, there will be no new full feature releases for the language or standard library.
Python
3.x is under active development and has already seen over five years of stable
releases, including version 3.3 in 2012, 3.4 in 2014, 3.5 in 2015, and 3.6 in
2016. This means that all recent standard library improvements, for example,
are only available by default in Python 3.x.
Many new Python users are wondering with which
version of Python they should start. My answer to this question is usually
something along the lines “just go with the version your favourite tutorial was
written in, and check out the differences later on.”
But what if you are starting a new project and have
the choice to pick? I would say there is currently no “right” or “wrong” as
long as both Python 2.7.x and Python 3.x support the libraries that you are
planning to use. However, it is worthwhile to have a look at the
benefit of using Python 3.6.0.
BENEFIT OF USING PYTHON 3.6.0
Python 3.6.0 already broadly supports creating GUI applications, with Tkinter in the standard library. Python 3 has been supported by PyQt almost from the day Python 3 was released; PySide added Python 3 support in 2011. GTK+ GUIs can be created with PyGObject which supports Python 3 and is the successor to PyGtk.
For new programmers, it is advisable to learn
python 3 first and then learn the differences in python 2 afterwards (if
necessary) since python 3 eliminates many quirks that can unnecessarily trip up
programmers trying to learn python 2.
Besides, several
aspects of the core language (such as print and exec being statements, integers
using floor division) have been adjusted to be easier for newcomers to learn
and to be more consistent with the rest of the language, and old cruft has been
removed (for example, all classes are now new-style, "range()"
returns a memory efficient alterable, not a list as in 2.x).
However, there are some key issues that
may require you to use Python 2.7.13 rather than Python 3.6.0
Firstly, if you're deploying to an
environment you don't control, that may impose a specific version, rather than
allowing you a free selection from the available versions.
Secondly, if you want to use a specific
third party package or utility that doesn't yet have a released version that is
compatible with Python 3, and porting that package is a non-trivial task, you
may choose to use Python 2 in order to retain access to that package.
Thirdly,
If you can do exactly what you
want with Python 3.x, great! There are a few minor downsides, such as very slightly
worse library support1 and the fact that some current
Linux distributions and Macs are still using 2.x as default (although Python 3
ships with many of them), but as a language Python 3.x is definitely ready. As
long as Python 3.x is installed on your user's computers (which ought to
be easy, since many people reading this may only be developing something for
themselves or an environment they control) and you're writing things where you
know none of the Python 2.x modules are needed, it is an excellent choice.
Also, most Linux distributions have Python 3.x already installed, and all have
it available for end-users. Some are phasing out Python 2 as pre-installed
default.2
Note: The 2.7 release has a much longer
period of maintenance when compared to earlier 2.x versions. Python 2.7 is
currently expected to remain supported by the core development team (receiving
security updates and other bug fixes) until at least 2020 (10 years after its
initial release, compared to the more typical support period of 18–24 months).
For installation of python. Download
the video in the download section of the blog, for detailed instructions on that.
‘10
awesome features of Python that you can't use because you refuse to upgrade to
Python 3’
Feel free to contact me for any help on
python and other research softwares.
Great tips, many thanks for sharing. I have printed and will stick on the wall! I like this blog. Phlebotomy Solutions
ReplyDeleteKeep us informed and up-to-date like this. https://www.5g999.co/slot
ReplyDelete