aml base image can't load python 3 after setting up a release
I tried to do the following
docker run -it --rm atlasml/atlasml-base bash
. release_setup.sh
python3
Expected result
python3 command prompt opens
Actual result
Fatal Python error: Py_Initialize: Unable to get the locale encoding
Workaround
Setting up the release seems to set a few variable that mess with every python installation. By resetting PATH to only include
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
and unsetting the PYTHONPATH variable, I was able to revive python 3. I'm not completely sure the PATH reset is required, but the PYTHONPATH reset definitely is. Unfortunately this defeats the purpose of having both these things in one image.
Possible Fix
Python supports a number of other ways of adding things to the path. In particular, we could simply write a analysisbase.pth file and put it somewhere in the default python 2 path.
Edited by Matthew Feickert