Robocorp Lab: Robot not opening in Lab or showing errors for conda.yaml

We have gotten a bunch of these and have been trying to figure out a good middle-of-the-road solution in Lab, but we are clearly “not there yet”.

The most common problem we are seeing now is conda channel defaults causing dependency issues with Lab etc.

In short, our recommendation is to have the conda.yaml ´channels:´ -section look like this:

channels:
  - conda-forge

Having dependencies coming from multiple channels and from pip can cause collisions on many levels. For the Robocorp Lab notebook environment, this is especially hard as that environment not only contains the conda.yaml that you as the user edit but also the environment that the JupyterLab and kernel instances require.

In Lab you can also run full diagnostics on your robot:
File > Terminal > rcc robot diagnostics --robot robot.yaml
… the output provides checks for a bunch of things:

Checks:
 - Robot    ok       Tasks are defined in robot.yaml
 - Robot    ok       Each task has exactly one definition.
 - Robot    ok       PATH settings in robot.yaml are ok.
 - Robot    ok       PYTHONPATH settings in robot.yaml are ok.
 - Robot    ok       ignoreFiles settings in robot.yaml are ok.
 - Robot    ok       Artifacts directory defined in robot.yaml
 - Robot    ok       In robot.yaml, 'condaConfigFile:' is present. So this is python robot.
 - Conda    warning  Try to avoid defaults channel, and prefer using conda-forge instead.
 - Conda    warning  Try to avoid putting defaults channel as first channel.
 - Conda    warning  Try to avoid multiple channel. They may cause problems with code compatibility.
 - Conda    ok       Conda dependencies in conda.yaml are ok.
 - Conda    ok       Pip dependencies in conda.yaml are ok.
 - Robot    ok       Dependencies in conda.yaml and dependencies.yaml match.
 - YAML     ok       YAML files are readable and can be parsed.

…we’ll look for a good place to put this in a bit easier form.

The latest templates have these setups so another way to get up to date is to create a new robot from template and checkout the conda.yaml.

BR, Kari