Skip to content

PIP 56: Python3 Migration

Ali Ahmed edited this page Jan 21, 2020 · 2 revisions
  • Status: Proposal
  • Author: Ali Ahmed
  • Pull Request:
  • Mailing List discussion:
  • Release:

Goals

Python 27 has reached end of life currently we currently distribute python 2.x artifacts in pypi and python 27 is the default runtime in pulsar images.

I propose we deprecate support for python 27, so for the future releases only python 3.x artifacts will be published and pulsar images will use python 3.7 by default.

Impact

Installations depending on python clients and users of python functions with the current image will be impacted there is no simple migration path if the default python installation changes. Users will have be notified with explicit release notes.

Changes Needed

We can accomplish changes is one of two ways.

  1. We could do only simple changes, change the release process, symlink python3 to python in the base image and switch out incompatible components eg: supervisor.

Changes are needed is these two files

./docker/pulsar/Dockerfile ./dashboard/Dockerfile

  1. A more comprehensive switch to a new base images which has no python2 dependency, such a new base image will most likely also change the jdk version. This will require a lot more changes but will result in simpler and smaller docker artifacts.

Clone this wiki locally