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.

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.

../_images/python-installer-add-path.png

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.