How to Install PyInstaller¶
pip install pyinstaller
or upgrade to a newer version:
pip install --upgrade pyinstaller
To install the current development version use:
pip install https://github.com/pyinstaller/pyinstaller/tarball/develop
Installing in Windows¶
For Windows, PyWin32 or the more recent pypiwin32, is a prerequisite. The latter is installed automatically when you install PyInstaller using pip or easy_install. If necessary, follow the pypiwin32 link to install it manually.
It is particularly easy to use pip-Win to install PyInstaller along with the correct version of PyWin32. pip-Win also provides virtualenv, which makes it simple to maintain multiple different Python interpreters and install packages such as PyInstaller in each of them. (For more on the uses of virtualenv, see Supporting Multiple Platforms below.)
When pip-Win is working, enter this command in its Command field and click Run:
venv -c -i pyi-env-name
This creates a new virtual environment rooted at
and makes it the current environment.
A new command shell
window opens in which you can run commands within this environment.
Enter the command
pip install PyInstaller
Once it is installed, to use PyInstaller,
- Start pip-Win
- In the Command field enter
- Click Run
Then you have a command shell window in which commands such as pyinstaller execute in that Python environment.
Installing in Mac OS X¶
Mac OS X 10.8 comes with Python 2.7 pre-installed by Apple. However, Python 2.7 is end-of-life and no longer supported by PyInstaller, also major packages such as PyQt, Numpy, Matplotlib, Scipy, and the like, have dropped support for Python 2.7, too. Thus we strongly recommend that you install these using either MacPorts or Homebrew.
PyInstaller users report fewer problems when they use a package manager than when they attempt to install major packages individually.
Alternatively you might install Python 3 following the official guide.
Installing from the archive¶
If pip is not available, download the compressed archive from PyPI. If you are asked to test a problem using the latest development code, download the compressed archive from the develop branch of PyInstaller Downloads page.
Expand the archive.
Inside is a script named
python setup.py install
with administrator privilege to install or upgrade PyInstaller.
For platforms other than Windows, GNU/Linux and Mac OS, you must first
build a bootloader program for your platform: see Building the Bootloader.
After the bootloader has been created,
python setup.py install with administrator privileges
to complete the installation.
Verifying the installation¶
On all platforms, the command
pyinstaller should now exist on the
execution path. To verify this, enter the command:
The result should resemble
3.n for a released version,
3.n.dev0-xxxxxx for a development branch.
If the command is not found, make sure the execution path includes the proper directory:
C:\PythonXY\Scriptswhere XY stands for the major and minor Python version number, for example
C:\Python34\Scriptsfor Python 3.4)
- OS X (using the default Apple-supplied Python)
- OS X (using Python installed by homebrew)
- OS X (using Python installed by macports)
To display the current path in Windows the command is
and in other systems,
The complete installation places these commands on the execution path:
pyinstalleris the main command to build a bundled application. See Using PyInstaller.
pyi-makespecis used to create a spec file. See Using Spec Files.
pyi-archive_vieweris used to inspect a bundled application. See Inspecting Archives.
pyi-bindependis used to display dependencies of an executable. See Inspecting Executables.
pyi-grab_versionis used to extract a version resource from a Windows executable. See Capturing Windows Version Data.
If you do not perform a complete installation
pip or executing
these commands will not be installed as commands.
However, you can still execute all the functions documented below
by running Python scripts found in the distribution folder.
The equivalent of the
pyinstaller command is
The other commands are found in
with meaningful names (