Setuptools disappeared from Arm64 and s390x build images

We use pip3 install ... in our Arm64 and s390x builds. It used to work with the previous build images, example here (arm64 image build “Tue May 26 10:08:22 UTC 2020”).

It doesn’t work anymore with the new build images, example here (arm64 image build “Tue Sep 15 13:14:36 UTC 2020”).

$ pip3 install -e dev/archery[docker]
Obtaining file:///home/travis/build/apache/arrow/dev/archery
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    ModuleNotFoundError: No module named 'setuptools'

This thread may be of help to you: Python development versions no longer include pip (due to virtualenv 20.x) - #5 by BanzaiMan

pip3 – or any other modules – are not guaranteed to be preinstalled for the system Python: https://docs.travis-ci.com/user/reference/bionic/#python-support mentions nothing of the kind. In fact, it’s missing altogether in the AMD64 image.

Although a preinstalled Pip without Setuptools is definitely broken (and it’s a mystery to me how that could happen), you cannot rely on its presence anyway.