Error with DVC run in windows docker container

Hi everyone,

I am currently getting an error when running:

dvc run -n prepare -d ./data/raw -d ./scripts/prepare.py -o ./data/seed-detection/interim -o ./data/seed-detection/processed --no-commit python3 scripts/prep are.py --config config/config.yaml

The error I get is:

ERROR: unexpected error - disk I/O error

I’m running this inside a container on windows where my cwd is a mounted volume.

The strange thing is, when I only run the command without using DVC it runs fine, so the problem lies with DVC. Running with --no-exec option also fails.

Currently only workaround I can think of is manually making dvc.yaml, then execute the command by itself and then commit DVC. However, I would not want to do this every time I want to run the stage.

I’m using Python 3.6.9 on Linux-4.19.76-linuxkit-x86_64-with-Ubuntu-18.04-bionic

Thanks in advance!

1 Like

Hey Joseph,

Strange, definitely not a very informative error message :thinking:. We’d need to see the verbose output (adding -v to the dvc run command) for inspection.

But first, please try wrapping your command with " since it has -- options of itself:

$ dvc run -n prepare ... --no-commit "python3 scripts/prepare.py --config config/config.yaml"

(It may be a parser error.) If that doesn’t work, please add -v as well and share the full output. Thanks

1 Like