From 3acb30ddd8f046ac1731507586575e8bb2eea3a3 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck <wdconinc@gmail.com> Date: Tue, 28 Dec 2021 01:28:48 +0000 Subject: [PATCH] Install python packages with requirements.txt --- containers/jug/dev.Dockerfile | 38 +++++++++++---------------------- containers/jug/requirements.txt | 17 +++++++++++++++ spack.yaml | 2 ++ 3 files changed, 31 insertions(+), 26 deletions(-) create mode 100644 containers/jug/requirements.txt diff --git a/containers/jug/dev.Dockerfile b/containers/jug/dev.Dockerfile index 72f880ed6..17d522c1f 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 000000000..09e3f52d1 --- /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 d84d5cd0d..ad4a2ae93 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 -- GitLab