Frequently Asked Questions

Note

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

General

What is PlatformIO?

Please refer to What is PlatformIO?

What is .pioenvs directory

Please refer to envs_dir.

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)"

Note

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

PlatformIO IDE

Please refer to PlatformIO IDE Frequently Asked Questions.

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.

Troubleshooting

Installation

[Errno 1] Operation not permitted

Answered in issue #295.

Windows AttributeError: ‘module’ object has no attribute ‘packages’

Answered in issue #252.

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.

Windows UnicodeDecodeError: ‘ascii’ codec can’t decode byte

Answered in issue #143.

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

Miscellaneous

Serial does not work with panStampAVR board

Answered in issue #144.

Building

ARM toolchain: cc1plus: error while loading shared libraries

See related answers for error while loading shared libraries.

Archlinux: libncurses.so.5: cannot open shared object file

Answered in issue #291.

Monitoring a serial port breaks upload

Answered in issue #384.