Skip to content

devcontainer fails to run postscript #198

@nzolman

Description

@nzolman

Received the following with a fresh VS Code devcontainer on a new machine.

Running the postCreateCommand from devcontainer.json...

[1554250 ms] Start: Run in container: /bin/sh -c source /home/firedrake/firedrake/bin/activate && pip install -e .
/bin/sh: 1: source: not found
[1554352 ms] postCreateCommand failed with exit code 127. Skipping any further user-provided commands.

I think this is related to this issue for running source in Docker containers.

The container otherwise builds fine, so it seems plausible to build everything from scratch in terminal afterwards. However, because the python venv is not successfully activated, it doesn't install hydrogym and both python and pip will point to the wrong python inside the container. When I manually source activate ... and pip install ., I get the following:

Building wheels for collected packages: hydrogym
  Building editable for hydrogym (pyproject.toml) ... done
  Created wheel for hydrogym: filename=hydrogym-0.1.2.3-py3-none-any.whl size=4657 sha256=cc5962681edbc48ff3038ada26605462eebfce4437ce5206736a09386004e72f
  Stored in directory: /tmp/pip-ephem-wheel-cache-omv0052m/wheels/29/0c/01/4594b1f70030c37e0a25dfd9f9ac190400a1c0186343cefd3a
Successfully built hydrogym
Installing collected packages: gym-notices, gmsh, networkx, fsspec, cloudpickle, gym, dmsuite, control, hydrogym
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
icepack 1.1.0 requires geojson, which is not installed.
icepack 1.1.0 requires geopandas, which is not installed.
icepack 1.1.0 requires meshio>=3.3.1, which is not installed.
icepack 1.1.0 requires MeshPy, which is not installed.
icepack 1.1.0 requires pooch, which is not installed.
icepack 1.1.0 requires pygmsh<=6.1.1, which is not installed.
icepack 1.1.0 requires rasterio, which is not installed.
icepack 1.1.0 requires ROL@ git+https://github.com/icepack/pyrol, which is not installed.
icepack 1.1.0 requires roltrilinos@ git+https://github.com/icepack/Trilinos, which is not installed.
icepack 1.1.0 requires shapely, which is not installed.
icepack 1.1.0 requires tqdm, which is not installed.
icepack 1.1.0 requires xarray, which is not installed.
Successfully installed cloudpickle-3.1.0 control-0.9.4 dmsuite-0.1.1 fsspec-2024.10.0 gmsh-4.13.1 gym-0.26.2 gym-notices-0.0.8 hydrogym-0.1.2.3 networkx-3.4.2

This implies that there are a number of dependencies that are not accounted for during the pip installation. After manually installing, I can import hydrogym, etc.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions