Robot unable to obtain interpreter information when using more than one development packages

Hi,
I just started moving from Eclipse to VSCode with robocorp for our RFW projects so I am quite new to the product. I am having some issues creating the robot and including editable packages.
I created a robot using standard Robotframework template and included package dependencies in conda.yaml. All is fine.
Just for sake of migration I included most of the packages from pip.

I have some pip packages I want to install in development mode from a local source. When I edit the conda.yaml everything is fine, until I add the second development package. It does not matter in which order. I do see robocorp-lsp ‘obtaining venv’ information box that disappears without error. Looks like package is not being installed.

After that I always get the error from robocorp extension:

Unable to obtain interpreter information from:/robot.yaml

Example parts from conda.yaml:

  • pip
    - all my normal packages
    - -e ${HOME}/package1
    - -e ${HOME}/package2

Both packages can be used if I only include one of them. When using both in either order, the error occurs.

In python venv all packages can be installed in editable mode.

Who can help troubleshooting this?

Thanks,
Maureen

Hi there Maureen,

Even if you’re dealing with private or public sources, this example still applies for the possibility of installing local packages in an editable way as this invoked requirements file specifies a pip line with -e. And it is triggered by this line in between the building of the env and running the robot.

The main difference with the example above is that you’re doing the non-standard installation after the holotree environment is built and cached. And on why it is not advised to place such non-cacheable - pip: lines in the conda.yaml, I’m pretty sure @jippo can provide a more accurate explanation. (my two cents are that the first time you added the first - e line, it built and cached the env with that package only, but since the -e lines are skipped from caching, next time you added the second line it wasn’t taken into account for building a new env and it used the previous one – Jippo please correct me if I’m wrong as I haven’t tested such scenario)