I added the support for the placeholder in containers-run with #227. This means it will get resolved before run can see it, and it will enter the run record in resolved form.
This is bad, because this resolved form is as non-portable as the previous setup, if not more.
This change must be amended, the resolution must be performed in run, and here we need to use the placeholder in its escaped form: {{python}}.
A viable approach might be to define datalad.run.substitutions.python=sys.executable