Frequently Asked Questions


We have a big database with Frequently Asked Questions in our Community Forums. Please have a look at it.


Command completion in Terminal

Bash completion

Bash completion support will complete subcommands and parameters. To enable Bash completion for platformio subcommands you need to put into your .bashrc:

eval "$(_PLATFORMIO_COMPLETE=source platformio)"
eval "$(_PLATFORMIO_COMPLETE=source pio)"

ZSH completion

To enable zsh completion please run these commands:

autoload bashcompinit && bashcompinit
eval "$(_PLATFORMIO_COMPLETE=source platformio)"
eval "$(_PLATFORMIO_COMPLETE=source pio)"


For permanent command completion you need to place commands above to ~/.bashrc or ~/.zshrc file.

Install Python Interpreter

PlatformIO Core is written in Python that is installed by default on the all popular OS except Windows.

Windows Users, please Download the latest Python 2.7.x and install it. DON’T FORGET to select Add python.exe to Path feature on the “Customize” stage, otherwise python command will not be available.


Before/Pre and After/Post build actions

PlatformIO Build System has rich API that allows to attach different pre-/post actions (hooks). See features of extra_script option for Project Configuration File platformio.ini.



Program “platformio” not found in PATH

Where is platformio binary installed? Run this command in Terminal

   # for Unix
   which platformio
   echo $PATH
Windows OS
   where platformio
   echo %PATH%

For example, which platformio is equal to /usr/local/bin/platformio, then PATH (wiki) should contain /usr/local/bin directory.

Unix Users: You can make “symlinks” from platformio program to the bin directory which is included in $PATH. For example, see issue #272.

PlatformIO: command not found || An error “pkg_resources.DistributionNotFound”

Please upgrade SetupTools package:

[sudo] pip uninstall setuptools
[sudo] pip install setuptools

# Then re-install PlatformIO
[sudo] pip uninstall platformio
[sudo] pip install platformio