Installing pyinstaller via pip leads to "failed to create process"
This error seems to occur when Python’s (or PyInstaller’s) path contains a space (for example, when one installs Python to the Program Files (x86)
directory.)
I suspect that somewhere in PyInstaller’s source code there are some missing quotation marks.
Try installing Python in a path without spaces, and installing PyInstaller (via pip) to that path.
[Update: So apparently the root fix for this is in setuptools. The fix went into setuptools version 24.3.1 released July 23, 2016. Upgrading to anything newer than that should take care of this.]
It turns out this is a bug in pip. As mentioned in the other answer it has a problem with spaces in the path to the python install.
Specifically it leaves out quote marks in the generated launcher scripts. The scripts can be found in \Scripts\ (e.g. C:\Program Files\Python 3.5\Scripts). For pyinstaller there 4 pyi-* and a pyinstaller-script.py scripts.
You can work around this relatively easily by editing the first line of each script. The generated first lines will look something like:
#!c:\program files\python 3.5\python.exe
# EASY-INSTALL-ENTRY-SCRIPT: 'PyInstaller==3.1.1','console_scripts','pyinstaller'
Just add quotes around the shebang command, like so:
#!"c:\program files\python 3.5\python.exe"