This feels like something we should get a little data on before making a
decision, but I also don't have a strong opinion.  I would bias towards
pushing something that might be imperfect and moving on to develop other
improvements for users rather than determining a 'perfect' solution.

The questions/tradeoffs I see are (1) should we support multiple python
versions in the first place, which requires extra work on our part but
supports more users and (2) should we favor forwards or backwards
compatibility, i.e. should we prioritize supporting existing users or
prioritize making something that won't cause future problems for new and
exiting users.

The best data I can find with a quick google is the annual Jetbrains survey
which shows python2 went from 47% in 2017 to 25% in 2018:
https://www.jetbrains.com/research/devecosystem-2017/python/
https://www.jetbrains.com/research/devecosystem-2018/python/

So python2 usage is trending sharply down but is not yet low enough to
ignore which I think means we should try and support both on Dockerhub (1).

I don't see backwards compatibility with existing Docker users is a major
concern given these Dockerfiles haven't been supported for a long time.  I
would prioritize forwards compatibility (2) and assume we want to create
something that will remain compatible for as long as possible.

So I would push both python2 and python3 images, but make python 3.5 the
default version, and python2 a version with a postfixed py2 tag in
Dockerhub.

Thanks to Mu (and others?) for original creating this Dockerhub images, I
used to use them and found them very convenient, and to you Meghna for
updating them.  I think basing them on the pip packages is also a good way
to lower maintenance burden and make sure we leverage the great work Sheng
has done to create those packages.

On Wed, Oct 17, 2018 at 11:52 AM Meghna Baijal <meghnabaijal2...@gmail.com>
wrote:

> Hi All,
>
> I am currently in the process of updating the python docker images for
> Apache MXNet such that they are built on top of the pip binaries.
> Until now these were built to use python 2.7 but with an upcoming PR I am
> also adding python 3.5 docker images. I would like to know the community’s
> preference on whether I should keep the *Python 2.7 Docker image as the
> default or should I move to Python 3.5 as the default version*?
>
> [1] The new python2 dockerfiles and build script can be found here.
> <
> https://github.com/apache/incubator-mxnet/tree/master/docker/docker-python
> >
> [2] The PR for python3 images is in progress and is here.
> <https://github.com/apache/incubator-mxnet/pull/12791>
>
> Thanks,
> Meghna Baijal
>

Reply via email to