diff --git a/containers/jug/dev.Dockerfile b/containers/jug/dev.Dockerfile index 72f880ed635c68ea131f69fd394febf4ac097086..17d522c1f0e119d4ced686997f05202cbe921618 100644 --- a/containers/jug/dev.Dockerfile +++ b/containers/jug/dev.Dockerfile @@ -13,8 +13,7 @@ RUN --mount=type=cache,target=/var/cache/apt \ && apt-get -yqq update \ && apt-get -yqq install --no-install-recommends \ python3 \ - python3-pip \ - python3-setuptools \ + python3-distutils \ python-is-python3 \ && rm -rf /var/lib/apt/lists/* @@ -127,7 +126,17 @@ RUN --mount=type=cache,target=/var/cache/spack-mirror \ && spack clean -a \ && exit $status -## extra post-spack steps +## Extra post-spack steps: +## - Python packages +COPY requirements.txt /usr/local/etc/requirements.txt +RUN --mount=type=cache,target=/var/cache/pip \ + echo "Installing additional python packages" \ + && cd /opt/spack-environment && spack env activate . \ + && pip install --trusted-host pypi.org \ + --trusted-host files.pythonhosted.org \ + --cache-dir /var/cache/pip \ + --requirement /usr/local/etc/requirements.txt + ## Including some small fixes: ## - Somehow PODIO env isn't automatically set, ## - and Gaudi likes BINARY_TAG to be set @@ -144,32 +153,9 @@ RUN cd /opt/spack-environment \ && echo "export PODIO=$(spack location -i podio);" \ >> /etc/profile.d/z10_spack_environment.sh \ && echo -n "" \ - && echo "Installing additional python packages" \ - && pip install --trusted-host pypi.org \ - --trusted-host files.pythonhosted.org \ - --no-cache-dir \ - awkward \ - boto3 \ - ipython \ - jupyter \ - jupyterlab \ - lmfit \ - lxml \ - matplotlib \ - pandas \ - pycairo \ - pyunfold \ - pyyaml \ - scipy \ - seaborn \ - stashcp \ - uproot \ - yapf \ - && echo -n "" \ && echo "Executing cmake patch for dd4hep 16.1" \ && sed -i "s/FIND_PACKAGE(Python/#&/" /usr/local/cmake/DD4hepBuild.cmake - ## make sure we have the entrypoints setup correctly ENTRYPOINT [] CMD ["bash", "--rcfile", "/etc/profile", "-l"] diff --git a/containers/jug/requirements.txt b/containers/jug/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..09e3f52d1d94956a6236e6734dc8e6343dd717ab --- /dev/null +++ b/containers/jug/requirements.txt @@ -0,0 +1,17 @@ +awkward +boto3 +ipython +jupyter +jupyterlab +lmfit +lxml +matplotlib +pandas +pycairo +pyunfold +pyyaml +scipy +seaborn +stashcp +uproot +yapf diff --git a/spack.yaml b/spack.yaml index d84d5cd0d38e0d9740ee055d9f83566d6de3a1e5..ad4a2ae936b7d0c6ec706c4f96a133a917678dbd 100644 --- a/spack.yaml +++ b/spack.yaml @@ -28,6 +28,8 @@ spack: - python@3.9.6 - py-numpy@1.20.1 - py-pip@20.2 + - py-setuptools@58.2.0 + - py-wheel@0.36.2 - qt +opengl - root@6.24.06 cxxstd=17 +fftw +fortran +gdml +http +mlp +pythia8