Nothing changed on our side between our last good build and our first bad build, but all Python development versions (3.5-dev, 3.6-dev, 3.7-dev, 3.8-dev and nightly) fail with the following error:
$ pip --version
Traceback (most recent call last):
File "/home/travis/virtualenv/python3.8-dev/bin/pip", line 6, in <module>
from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip'
Is it possible to get back the old behavior? Or should we install pip ourselves?
The build process does go through changes, of course, but for the most part they are pretty stable. If the *-dev version behaviors change, the changes are most likely due to the changes upstream.
Identified the reason. Itās a change in virtualenvās behavior in the latest version.
It now saves a couple of required files ā including pip installation ā outside the virtualenvās subtree. Travisā CPython compilation worker saves a premade virtualenv into a tarball to avoid recreating it each time ā which now doesnāt include those files.
I donāt yet know if itās possible to change that, or to somehow reliably figure out which external files to include and guarantee that the virtualenv will work on a different system.
Used a more future-proof solution. There are also environment changes in Multiarch images that also required adapting the code to (thatās why 3.9-dev builds were failing).