only install pipenv in preassemble
save preassembly of pipenv for a later patch
MODIFY
repo2docker/buildpacks/pipfile/__init__.py
repo2docker/buildpacks/pipfile/__init__.py
@@ -75,6 +75,15 @@ class PipfileBuildPack(CondaBuildPack):
return files
def get_preassemble_scripts(self):
+ """scripts to run prior to staging the repo contents"""
+ scripts = super().get_preassemble_scripts()
+ # install pipenv to install dependencies within Pipfile.lock or Pipfile
+ scripts.append(
+ ("${NB_USER}", "${KERNEL_PYTHON_PREFIX}/bin/pip install pipenv==2018.11.26")
+ )
+ return scripts
+
+ def get_assemble_scripts(self):
"""Return series of build-steps specific to this repository.
"""
# If we have either Pipfile.lock, Pipfile, or runtime.txt declare the
@@ -113,11 +122,6 @@ class PipfileBuildPack(CondaBuildPack):
# my_package_example = {path=".", editable=true}
working_directory = self.binder_dir or "."
- # install pipenv to install dependencies within Pipfile.lock or Pipfile
- assemble_scripts.append(
- ("${NB_USER}", "${KERNEL_PYTHON_PREFIX}/bin/pip install pipenv==2018.11.26")
- )
-
# NOTES:
# - Without prioritizing the PATH to KERNEL_PYTHON_PREFIX over
# NB_SERVER_PYTHON_PREFIX, 'pipenv' draws the wrong conclusion about

only install pipenv in preassemble

save preassembly of pipenv for a later patch