<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>3.1.1: Sysbuild picks system Python instead of venv Python — impossible to fix from user side</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/127449/3-1-1-sysbuild-picks-system-python-instead-of-venv-python-impossible-to-fix-from-user-side</link><description>SDK : nRF Connect SDK v3.1.1 (Zephyr 4.1.99) Build type: Out-of-tree (custom board `goride_centralstationen/nrf9160/ns`, external hw-conf, external modules) Platform: macOS (Apple Silicon), but affects any OS with a system Python that doesn&amp;#39;t allow pip</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 17 Mar 2026 13:32:19 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/127449/3-1-1-sysbuild-picks-system-python-instead-of-venv-python-impossible-to-fix-from-user-side" /><item><title>RE: 3.1.1: Sysbuild picks system Python instead of venv Python — impossible to fix from user side</title><link>https://devzone.nordicsemi.com/thread/563449?ContentTypeID=1</link><pubDate>Tue, 17 Mar 2026 13:32:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9d7327ab-abf3-4fc3-8c72-913a013cba92</guid><dc:creator>Sigurd Hellesvik</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;First, I can mention that we also provide the toolchain manager for you to install a toolchain, as an alternative solution to what you see here. See&amp;nbsp;&lt;a href="https://docs.nordicsemi.com/bundle/nrfutil/page/nrfutil-toolchain-manager/nrfutil-toolchain-manager.html"&gt;nrfutil toolchain-manager&lt;/a&gt;&amp;nbsp;for more info on this.&lt;/p&gt;
&lt;p&gt;Then, when I try to set up a venv in python3.11, it builds both images in this python version.&lt;/p&gt;
&lt;p&gt;Steps:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;python3.11 -m venv venv
source venv/bin/activate
pip install west
pip install -r nrf/scripts/requirements.txt
pip install -r zephyr/scripts/requirements.txt
pip install -r bootloader/mcuboot/scripts/requirements.txt&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;And then the build logs:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;-- west build: generating a build system
Loading Zephyr module(s) (Zephyr base): sysbuild_default
-- Found Python3: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/venv/bin/python3 (found suitable version &amp;quot;3.11.15&amp;quot;, minimum required is &amp;quot;3.10&amp;quot;) found components: Interpreter 
-- Cache files will be written to: /home/sihe/.cache/zephyr
-- Found west (found suitable version &amp;quot;1.5.0&amp;quot;, minimum required is &amp;quot;0.14.0&amp;quot;)
-- Board: nrf52840dk, qualifiers: nrf52840
Parsing /home/sihe/nrf_connect_sdk/zephyr/share/sysbuild/Kconfig
Loaded configuration &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/_sysbuild/empty.conf&amp;#39;
Merged configuration &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/sysbuild.conf&amp;#39;
Configuration saved to &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/zephyr/.config&amp;#39;
Kconfig header saved to &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/_sysbuild/autoconf.h&amp;#39;
-- Sysbuild assigned MCUboot image IDs:
   * Application: 0
-- 
   *****************************
   * Running CMake for mcuboot *
   *****************************

Loading Zephyr default modules (Zephyr base).
-- Application: /home/sihe/nrf_connect_sdk/bootloader/mcuboot/boot/zephyr
-- CMake version: 3.28.3
-- Found Python3: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/venv/bin/python3 (found suitable version &amp;quot;3.11.15&amp;quot;, minimum required is &amp;quot;3.10&amp;quot;) found components: Interpreter 
-- Cache files will be written to: /home/sihe/.cache/zephyr
-- Zephyr version: 4.3.99 (/home/sihe/nrf_connect_sdk/zephyr)
-- Found west (found suitable version &amp;quot;1.5.0&amp;quot;, minimum required is &amp;quot;0.14.0&amp;quot;)
-- Board: nrf52840dk, qualifiers: nrf52840
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Found host-tools: zephyr 0.17.4 (/home/sihe/zephyr-sdk-0.17.4)
-- Found toolchain: zephyr 0.17.4 (/home/sihe/zephyr-sdk-0.17.4)
-- Found Dtc: /home/sihe/zephyr-sdk-0.17.4/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version &amp;quot;1.7.0&amp;quot;, minimum required is &amp;quot;1.4.6&amp;quot;) 
-- Found BOARD.dts: /home/sihe/nrf_connect_sdk/zephyr/boards/nordic/nrf52840dk/nrf52840dk_nrf52840.dts
-- Found devicetree overlay: /home/sihe/nrf_connect_sdk/bootloader/mcuboot/boot/zephyr/app.overlay
-- Generated zephyr.dts: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/mcuboot/zephyr/zephyr.dts
-- Generated pickled edt: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/mcuboot/zephyr/edt.pickle
-- Generated devicetree_generated.h: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/mcuboot/zephyr/include/generated/zephyr/devicetree_generated.h
Parsing /home/sihe/nrf_connect_sdk/bootloader/mcuboot/boot/zephyr/Kconfig
Loaded configuration &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/boards/nordic/nrf52840dk/nrf52840dk_nrf52840_defconfig&amp;#39;
Merged configuration &amp;#39;/home/sihe/nrf_connect_sdk/bootloader/mcuboot/boot/zephyr/prj.conf&amp;#39;
Merged configuration &amp;#39;/home/sihe/nrf_connect_sdk/bootloader/mcuboot/boot/zephyr/boards/nrf52840dk_nrf52840.conf&amp;#39;
Merged configuration &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/mcuboot/zephyr/.config.sysbuild&amp;#39;
Configuration saved to &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/mcuboot/zephyr/.config&amp;#39;
Kconfig header saved to &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/mcuboot/zephyr/include/generated/zephyr/autoconf.h&amp;#39;
-- Found GnuLd: /home/sihe/zephyr-sdk-0.17.4/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd (found version &amp;quot;2.38&amp;quot;) 
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/sihe/zephyr-sdk-0.17.4/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
CMake Warning at /home/sihe/nrf_connect_sdk/nrf/lib/flash_patch/CMakeLists.txt:8 (message):
  

        ----------------------------------------------------------
        --- WARNING: To maintain the integrity of secure boot, ---
        --- enable CONFIG_DISABLE_FLASH_PATCH in production.   ---
        ----------------------------------------------------------


-- Using ccache: /usr/bin/ccache
-- Found gen_kobject_list: /home/sihe/nrf_connect_sdk/zephyr/scripts/build/gen_kobject_list.py
MCUBoot bootloader key file: /home/sihe/nrf_connect_sdk/bootloader/mcuboot/root-ec-p256.pem
CMake Warning at CMakeLists.txt:447 (message):
  WARNING: Using default MCUboot signing key file, this file is for debug use
  only and is not secure!


-- Configuring done (3.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/mcuboot
-- 
   *********************************
   * Running CMake for hello_world *
   *********************************

Loading Zephyr default modules (Zephyr base).
-- Application: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world
-- CMake version: 3.28.3
-- Found Python3: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/venv/bin/python3 (found suitable version &amp;quot;3.11.15&amp;quot;, minimum required is &amp;quot;3.10&amp;quot;) found components: Interpreter 
-- Cache files will be written to: /home/sihe/.cache/zephyr
-- Zephyr version: 4.3.99 (/home/sihe/nrf_connect_sdk/zephyr)
-- Found west (found suitable version &amp;quot;1.5.0&amp;quot;, minimum required is &amp;quot;0.14.0&amp;quot;)
-- Board: nrf52840dk, qualifiers: nrf52840
-- ZEPHYR_TOOLCHAIN_VARIANT not set, trying to locate Zephyr SDK
-- Found host-tools: zephyr 0.17.4 (/home/sihe/zephyr-sdk-0.17.4)
-- Found toolchain: zephyr 0.17.4 (/home/sihe/zephyr-sdk-0.17.4)
-- Found Dtc: /home/sihe/zephyr-sdk-0.17.4/sysroots/x86_64-pokysdk-linux/usr/bin/dtc (found suitable version &amp;quot;1.7.0&amp;quot;, minimum required is &amp;quot;1.4.6&amp;quot;) 
-- Found BOARD.dts: /home/sihe/nrf_connect_sdk/zephyr/boards/nordic/nrf52840dk/nrf52840dk_nrf52840.dts
-- Generated zephyr.dts: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/zephyr.dts
-- Generated pickled edt: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/edt.pickle
-- Generated devicetree_generated.h: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/include/generated/zephyr/devicetree_generated.h

warning: UPDATEABLE_IMAGE_NUMBER (defined at
/home/sihe/nrf_connect_sdk/nrf/modules/../samples/common/mcumgr_bt_ota_dfu/Kconfig:87,
subsys/dfu/Kconfig:97) was assigned the value &amp;#39;1&amp;#39; but got the value &amp;#39;&amp;#39;. Check these unsatisfied
dependencies: (((BOARD_THINGY53_NRF5340_CPUAPP || BOARD_THINGY53_NRF5340_CPUAPP_NS) &amp;amp;&amp;amp;
SOC_SERIES_NRF53 &amp;amp;&amp;amp; NCS_SAMPLE_MCUMGR_BT_OTA_DFU) || (!MCUBOOT &amp;amp;&amp;amp; IMG_MANAGER)) (=n). See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_UPDATEABLE_IMAGE_NUMBER and/or look up
UPDATEABLE_IMAGE_NUMBER in the menuconfig/guiconfig interface. The Application Development Primer,
Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be
helpful too.


warning: MCUBOOT_UPDATE_FOOTER_SIZE (defined at subsys/dfu/Kconfig:55) was assigned the value
&amp;#39;0x2000&amp;#39; but got the value &amp;#39;&amp;#39;. Check these unsatisfied dependencies: MCUBOOT_IMG_MANAGER (=n),
IMG_MANAGER (=n). See
http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_MCUBOOT_UPDATE_FOOTER_SIZE and/or look up
MCUBOOT_UPDATE_FOOTER_SIZE in the menuconfig/guiconfig interface. The Application Development
Primer, Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual
might be helpful too.

Parsing /home/sihe/nrf_connect_sdk/zephyr/Kconfig
Loaded configuration &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/boards/nordic/nrf52840dk/nrf52840dk_nrf52840_defconfig&amp;#39;
Merged configuration &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/prj.conf&amp;#39;
Merged configuration &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/.config.sysbuild&amp;#39;
Configuration saved to &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/.config&amp;#39;
Kconfig header saved to &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/include/generated/zephyr/autoconf.h&amp;#39;
-- Found GnuLd: /home/sihe/zephyr-sdk-0.17.4/arm-zephyr-eabi/arm-zephyr-eabi/bin/ld.bfd (found version &amp;quot;2.38&amp;quot;) 
-- The C compiler identification is GNU 12.2.0
-- The CXX compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/sihe/zephyr-sdk-0.17.4/arm-zephyr-eabi/bin/arm-zephyr-eabi-gcc
-- Using ccache: /usr/bin/ccache
-- Found gen_kobject_list: /home/sihe/nrf_connect_sdk/zephyr/scripts/build/gen_kobject_list.py
-- Including signing script: /home/sihe/nrf_connect_sdk/nrf/cmake/sysbuild/image_signing.cmake
-- Configuring done (3.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world
CMake Warning at /home/sihe/nrf_connect_sdk/nrf/cmake/sysbuild/partition_manager.cmake:119 (message):
  

        ---------------------------------------------------------------------
        --- WARNING: Using a bootloader without pm_static.yml.            ---
        --- There are cases where a deployed product can consist of       ---
        --- multiple images, and only a subset of these images can be     ---
        --- upgraded through a firmware update mechanism. In such cases,  ---
        --- the upgradable images must have partitions that are static    ---
        --- and are matching the partition map used by the bootloader     ---
        --- programmed onto the device.                                   ---
        ---------------------------------------------------------------------
        

Call Stack (most recent call first):
  /home/sihe/nrf_connect_sdk/nrf/cmake/sysbuild/partition_manager.cmake:639 (partition_manager)
  /home/sihe/nrf_connect_sdk/nrf/sysbuild/CMakeLists.txt:972 (include)
  cmake/modules/sysbuild_extensions.cmake:808 (nrf_POST_CMAKE)
  cmake/modules/sysbuild_extensions.cmake:808 (cmake_language)
  cmake/modules/sysbuild_images.cmake:46 (sysbuild_module_call)
  cmake/modules/sysbuild_default.cmake:21 (include)
  /home/sihe/nrf_connect_sdk/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
  /home/sihe/nrf_connect_sdk/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
  /home/sihe/nrf_connect_sdk/zephyr/share/sysbuild-package/cmake/SysbuildConfig.cmake:8 (include)
  template/CMakeLists.txt:10 (find_package)


-- Configuring done (8.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build
-- west build: building application
[9/20] Performing build step for &amp;#39;mcuboot&amp;#39;
[1/199] Preparing syscall dependency handling

[8/199] Generating include/generated/zephyr/version.h
-- Zephyr version: 4.3.99 (/home/sihe/nrf_connect_sdk/zephyr), build: ncs-v3.2.0-rc1-9912-g4b6df5ff11b1
[199/199] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       32372 B        48 KB     65.86%
             RAM:       16640 B       256 KB      6.35%
        IDT_LIST:          0 GB        32 KB      0.00%
Generating files from /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/mcuboot/zephyr/zephyr.elf for board: nrf52840dk/nrf52840
[11/20] Performing build step for &amp;#39;hello_world&amp;#39;
[0/1] Re-running CMake...
Loading Zephyr default modules (Zephyr base (cached)).
-- Application: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world
-- CMake version: 3.28.3
-- Cache files will be written to: /home/sihe/.cache/zephyr
-- Zephyr version: 4.3.99 (/home/sihe/nrf_connect_sdk/zephyr)
-- Found west (found suitable version &amp;quot;1.5.0&amp;quot;, minimum required is &amp;quot;0.14.0&amp;quot;)
-- Board: nrf52840dk, qualifiers: nrf52840
-- Found host-tools: zephyr 0.17.4 (/home/sihe/zephyr-sdk-0.17.4)
-- Found toolchain: zephyr 0.17.4 (/home/sihe/zephyr-sdk-0.17.4)
-- Found BOARD.dts: /home/sihe/nrf_connect_sdk/zephyr/boards/nordic/nrf52840dk/nrf52840dk_nrf52840.dts
-- Generated zephyr.dts: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/zephyr.dts
-- Generated pickled edt: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/edt.pickle
-- Generated devicetree_generated.h: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/include/generated/zephyr/devicetree_generated.h
Parsing /home/sihe/nrf_connect_sdk/zephyr/Kconfig
Loaded configuration &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/.config&amp;#39;
Merged configuration &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/.config.sysbuild&amp;#39;
No change to configuration in &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/.config&amp;#39;
No change to Kconfig header in &amp;#39;/home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/include/generated/zephyr/autoconf.h&amp;#39;
-- Using ccache: /usr/bin/ccache
-- Found gen_kobject_list: /home/sihe/nrf_connect_sdk/zephyr/scripts/build/gen_kobject_list.py
-- Including signing script: /home/sihe/nrf_connect_sdk/nrf/cmake/sysbuild/image_signing.cmake
-- Configuring done (3.0s)
-- Generating done (0.0s)
-- Build files have been written to: /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world
[1/168] Preparing syscall dependency handling

[6/168] Generating include/generated/zephyr/version.h
-- Zephyr version: 4.3.99 (/home/sihe/nrf_connect_sdk/zephyr), build: ncs-v3.2.0-rc1-9912-g4b6df5ff11b1
[168/168] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       23688 B     499200 B      4.75%
             RAM:        6528 B       256 KB      2.49%
        IDT_LIST:          0 GB        32 KB      0.00%
Generating files from /home/sihe/nrf_connect_sdk/zephyr/samples/hello_world/build/hello_world/zephyr/zephyr.elf for board: nrf52840dk/nrf52840
image.py: sign the payload
image.py: sign the payload
[20/20] Generating ../merged.hex
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;And locally on my ubuntu PC, I got&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;$ python --version
Python 3.12.3
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Granted, I do test this on ubuntu and mac, but I would at least hope that the venv behaviour should be the same, right?&lt;/p&gt;
&lt;p&gt;Regards,&lt;br /&gt;Sigurd Hellesvik&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>