Hi,
I'm using the nRF5340 DK and SES 5.34a, nRF Connect SDK v1.4.2. For python, I use pyenv virtual environment for which python is set to 3.9.1.
I am able to build and flash, for example, the peripheral_lbs project after installing all required software and tools using Toolchain Manager. However, this installs nRF Connect SDK, zephyr, arm compiler etc. under /opt which is not a sustainable structure. My goal is to have the SDK libraries under something like "network_drive/nRF_SDK/...", my application code under "network_drive/Projects/nordic/..." and ARM toolchain under "network_drive/ARM/<version>/arm-none-eabi/...". SES is fine for coding the app but I need to be able to build, flash and test everything using the command line.
So, one step at a time...
My first step was to make an exact copy of /opt/nordic.* on a network drive and rename /opt/nordic to /opt/xxxnordic to ensure that nothing is being used from that installation. In SES, I changed the setting in Tools->Options as shown:
I also installed all the required python modules (as listed in the nRF Connect 3.61 - Getting Started section):
$pip install west
$pip install -r zephyr/scripts/requirements.txt
$pip install -r nrf/scripts/requirements.txt
$pip install -r bootloader/mcuboot/scripts/requirements.txt
Here, "pip" is pip 20.3.3 - the version installed for python 3.9.1. I then tried to import an nRF SDK project with File->Open nRF SDK Connect Project. Connect Option settings are:
This fails while building the build files. Log output is:
The error says the python module yaml cannot be found. However, the discovered version of python is 3.9.1 as expected and yaml most certainly is installed in this python version:
$ python
Python 3.9.1 (default, Jan 17 2021, 13:00:31)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> help("modules")
...
appdirs ensurepip py_compile xxsubtype
argparse enum pyclbr yaml
array errno pycparser zipapp
...
Any suggestions?
Regards,
AC