[dpdk-dev] [PATCH 0/9] python2 deprecation notice
Stephen Hemminger
stephen at networkplumber.org
Tue Jul 14 03:19:50 CEST 2020
On Mon, 13 Jul 2020 10:21:49 +0100
Bruce Richardson <bruce.richardson at intel.com> wrote:
> On Fri, Jul 10, 2020 at 03:33:58PM +0200, Robin Jarry wrote:
> > Hi Louise,
> >
> > 2020-07-10, Louise Kilheeney:
> > > This patchset adds deprecation notices to python scripts,
> > > warning of the removal of python2 support from the DPDK 20.11 release.
> >
> > While showing warnings to users about Python 2 support drop in 20.11 is
> > good, it seems like the shebangs in a lot of these scripts still refer
> > to "python".
> >
> > dpdk$ git describe
> > v20.05-623-geff30b59cc2e
> > dpdk$ git grep '#.*!.*python\>'
> > app/test-bbdev/test-bbdev.py:1:#!/usr/bin/env python
> > app/test-cmdline/cmdline_test.py:1:#!/usr/bin/env python
> > app/test/autotest.py:1:#!/usr/bin/env python
> > buildtools/map_to_win.py:1:#!/usr/bin/env python
> > config/arm/armv8_machine.py:1:#!/usr/bin/python
> > devtools/update_version_map_abi.py:1:#!/usr/bin/env python
> > usertools/cpu_layout.py:1:#!/usr/bin/env python
> > usertools/dpdk-devbind.py:1:#! /usr/bin/env python
> > usertools/dpdk-pmdinfo.py:1:#!/usr/bin/env python
> > usertools/dpdk-telemetry-client.py:1:#! /usr/bin/env python
> >
> > On many distros, "python" still points (as of today) to python2. You
> > series will cause warnings that cannot be avoided.
> >
> > Also, on some distros, "python" does not exist at all (RHEL 8 and CentOS
> > 8 for example). And only "python2" or "python3" are available.
> >
> > I wonder if it would not be better to find a way to make these shebangs
> > "dynamic" somehow. It is not trivial and I don't see any other solution
> > than plain modification of the shebangs at build time.
> >
> > However, there is no way (to my knowledge) to specify which version of
> > python is "selected" during the build.
> >
> > Does anyone have a proper solution?
> >
>
> In the absense of a "proper" solution, is the simplest option to change the
> shebangs to all be python3, but leave the python2 compatibility in place,
> and add the warnings for anyone running it explicitly using python2?
The standard way to use python3 that I have seen is:
#! /usr/bin/env python3
More information about the dev
mailing list