platformio / platform-ststm32

ST STM32: development platform for PlatformIO
https://registry.platformio.org/platforms/platformio/ststm32
Apache License 2.0
394 stars 307 forks source link

ModuleNotFound error when trying to generate for STM32 projects #562

Open neilenns opened 3 years ago

neilenns commented 3 years ago

To reproduce:

  1. Launch PlatformIO: Home in Visual Studio Code
  2. Create a new project
  3. Set Board to ST Nucleo L476RG
  4. Set Framework to mbed or Arduino
  5. Click Finish

Result:

PIO Core Call Error: "The next files/directories have been created in C:\\Users\\neile\\OneDrive\\Documents\\PlatformIO\\Projects\\test\r\ninclude - Put project header files here\r\nlib - Put here project specific (private) libraries\r\nsrc - Put project source files here\r\nplatformio.ini - Project Configuration File\r\n\n\nError: Processing nucleo_l476rg (platform: ststm32; board: nucleo_l476rg; framework: mbed)\r\n--------------------------------------------------------------------------------\r\nVerbose mode can be enabled via-v, --verboseoption\r\nCONFIGURATION: https://docs.platformio.org/page/boards/ststm32/nucleo_l476rg.html\r\nPLATFORM: ST STM32 (14.2.0) > ST Nucleo L476RG\r\nHARDWARE: STM32L476RGT6 80MHz, 96KB RAM, 1MB Flash\r\nDEBUG: Current (stlink) On-board (stlink) External (blackmagic, cmsis-dap, jlink)\r\nPACKAGES: \r\n - framework-mbed 6.60900.210318 (6.9.0) \r\n - toolchain-gccarmnoneeabi 1.90201.191206 (9.2.1)\r\nModuleNotFoundError: No module named 'tools.build_api':\r\n File \"C:\\Users\\neile\\.platformio\\penv\\Lib\\site-packages\\platformio\\builder\\main.py\", line 178:\r\n env.SConscript(\"$BUILD_SCRIPT\")\r\n File \"C:\\Users\\neile\\.platformio\\packages\\tool-scons\\scons-local-4.2.0\\SCons\\Script\\SConscript.py\", line 597:\r\n return _SConscript(self.fs, *files, **subst_kw)\r\n File \"C:\\Users\\neile\\.platformio\\packages\\tool-scons\\scons-local-4.2.0\\SCons\\Script\\SConscript.py\", line 285:\r\n exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)\r\n File \"C:\\Users\\neile\\.platformio\\platforms\\ststm32\\builder\\main.py\", line 121:\r\n target_elf = env.BuildProgram()\r\n File \"C:\\Users\\neile\\.platformio\\packages\\tool-scons\\scons-local-4.2.0\\SCons\\Util.py\", line 748:\r\n return self.method(*nargs, **kwargs)\r\n File \"C:\\Users\\neile\\.platformio\\penv\\Lib\\site-packages\\platformio\\builder\\tools\\platformio.py\", line 61:\r\n env.ProcessProgramDeps()\r\n File \"C:\\Users\\neile\\.platformio\\packages\\tool-scons\\scons-local-4.2.0\\SCons\\Util.py\", line 748:\r\n return self.method(*nargs, **kwargs)\r\n File \"C:\\Users\\neile\\.platformio\\penv\\Lib\\site-packages\\platformio\\builder\\tools\\platformio.py\", line 128:\r\n env.BuildFrameworks(env.get(\"PIOFRAMEWORK\"))\r\n File \"C:\\Users\\neile\\.platformio\\packages\\tool-scons\\scons-local-4.2.0\\SCons\\Util.py\", line 748:\r\n return self.method(*nargs, **kwargs)\r\n File \"C:\\Users\\neile\\.platformio\\penv\\Lib\\site-packages\\platformio\\builder\\tools\\platformio.py\", line 343:\r\n SConscript(env.GetFrameworkScript(f), exports=\"env\")\r\n File \"C:\\Users\\neile\\.platformio\\packages\\tool-scons\\scons-local-4.2.0\\SCons\\Script\\SConscript.py\", line 660:\r\n return method(*args, **kw)\r\n File \"C:\\Users\\neile\\.platformio\\packages\\tool-scons\\scons-local-4.2.0\\SCons\\Script\\SConscript.py\", line 597:\r\n return _SConscript(self.fs, *files, **subst_kw)\r\n File \"C:\\Users\\neile\\.platformio\\packages\\tool-scons\\scons-local-4.2.0\\SCons\\Script\\SConscript.py\", line 285:\r\n exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)\r\n File \"C:\\Users\\neile\\.platformio\\platforms\\ststm32\\builder\\frameworks\\mbed.py\", line 35:\r\n SConscript(\r\n File \"C:\\Users\\neile\\.platformio\\packages\\tool-scons\\scons-local-4.2.0\\SCons\\Script\\SConscript.py\", line 660:\r\n return method(*args, **kw)\r\n File \"C:\\Users\\neile\\.platformio\\packages\\tool-scons\\scons-local-4.2.0\\SCons\\Script\\SConscript.py\", line 597:\r\n return _SConscript(self.fs, *files, **subst_kw)\r\n File \"C:\\Users\\neile\\.platformio\\packages\\tool-scons\\scons-local-4.2.0\\SCons\\Script\\SConscript.py\", line 285:\r\n exec(compile(scriptdata, scriptname, 'exec'), call_stack[-1].globals)\r\n File \"C:\\Users\\neile\\.platformio\\packages\\framework-mbed\\platformio\\platformio-build.py\", line 44:\r\n from pio_mbed_adapter import PlatformioMbedAdapter\r\n File \"C:\\Users\\neile\\.platformio\\packages\\framework-mbed\\platformio\\pio_mbed_adapter.py\", line 23:\r\n from tools.build_api import prepare_toolchain, UPDATE_WHITELIST\r\n========================== [FAILED] Took 0.39 seconds =========================="

Expected result: PlatformIO to generate the project

This is with PlatformIO version 2.3.3, PlatformIO Core version 5.2.0, and STM32 version 14.2.0.

I've tried with a variety of other boards and get the same error.

neilenns commented 3 years ago

I tried this on another machine and it worked fine. Might it have something to do with differing Python installations? On the machine that didn't work I have Python3 installed and in my PATH. On the machine that did work I don't have Python installed.