Bug installing zephyr requirements.txt on linux

Installing the Linux tools zephyr:

$ pip3 install -r zephyr/scripts/requirements.txt

<Lots of stuff elided>

Successfully built progress cbor python-can future intervaltree
ERROR: sphinx 4.4.0 has requirement docutils<0.18,>=0.14, but you'll have docutils 0.18.1 which is incompatible.
ERROR: sphinx-rtd-theme 1.0.0 has requirement docutils<0.18, but you'll have docutils 0.18.1 which is incompatible.
ERROR: sphinx-tabs 3.2.0 has requirement docutils~=0.16.0, but you'll have docutils 0.18.1 which is incompatible.

$pip3 install -r nrf/scripts/requirements.txt

...

Successfully built sphinxcontrib-mscgen sphinxcontrib-plantuml
ERROR: cddl-gen 0.3.0 has requirement pyyaml~=5.4.1, but you'll have pyyaml 6.0 which is incompatible.

Thanks.

  • Hello Andrew,

    which Linux distribution & version are you operating with? Have you performed the steps 2 and 3 for Linux, as described here?

    Regards,

    Markus

  • Hi, Markus,

    Ubuntu 20.04.03 LTS

    Yes.  I did perform steps 2 and 3.  The issue is that some of the requirements have upgraded.  And some of the requirements are pinned to weird versions.

    This is a moving target that you're unlikely to be able to keep up with and you will be playing whack-a-mole continuously.  The fact that so much of the Linux instructions are very manual is a reflection of that.

    I suspect that the only real solution is to create a Nordic maintained Linux container (lxc, docker, podman, etc.) that controls the versions and installations so that Nordic can create "blessed" combinations that are known to work.  This should be significantly easier since Visual Studio Code can operate "remotely" wherein the main VSCode is running on your own Desktop but the "remote" version can be operating in the container.

    Thanks.

  • Andrew Lentvorski said:

    This is a moving target that you're unlikely to be able to keep up with and you will be playing whack-a-mole continuously.  The fact that so much of the Linux instructions are very manual is a reflection of that.

    I suspect that the only real solution is to create a Nordic maintained Linux container (lxc, docker, podman, etc.) that controls the versions and installations so that Nordic can create "blessed" combinations that are known to work.  This should be significantly easier since Visual Studio Code can operate "remotely" wherein the main VSCode is running on your own Desktop but the "remote" version can be operating in the container.

    Thanks for your feedback and input, Andrew!

    Regards,

    Markus

Related