Escape environment variable when using Python string formatting
MODIFY
repo2docker/buildpacks/python/__init__.py
repo2docker/buildpacks/python/__init__.py
@@ -53,7 +53,9 @@ class PythonBuildPack(CondaBuildPack):
if os.path.exists(nb_requirements_file):
assemble_scripts.append((
'${NB_USER}',
- '${NB_PYTHON_PREFIX}/bin/pip install --no-cache-dir -r "{}"'.format(nb_requirements_file)
+ # want the $NB_PYHTON_PREFIX environment variable, not for
+ # Python's string formatting to try and replace this
+ '${{NB_PYTHON_PREFIX}}/bin/pip install --no-cache-dir -r "{}"'.format(nb_requirements_file)
))
# install requirements.txt in the kernel env

ADD
tests/venv/py2-with-kernel-requirements/requirements.txt
+# install this in the kernel's environment, the user wants Python 2 there
+numpy

ADD
tests/venv/py2-with-kernel-requirements/requirements3.txt
+# install this in the environment in which the notebook server
+# is running nbgitpuller does not work with Python 2
+nbgitpuller==0.6.1

ADD
tests/venv/py2-with-kernel-requirements/runtime.txt
+python-2.7

ADD
tests/venv/py2-with-kernel-requirements/verify
+#!/usr/bin/env python2
+import sys
+
+print(sys.version_info)
+assert sys.version_info[:2] == (2, 7)
+
+import numpy

Escape environment variable when using Python string formatting