The bdist_nsi module extends Python's distutils module with a bdist_nsi setup command to create binary Windows installers for Python modules, based on NSIS. Thereby, bdist_nsi brings all the features of NSIS to Windows installers for Python modules, such as silent install, modern user interface, and internationalization.

In action

Take a look at the screenshots.

What you need

Besides Python and the bdist_nsi module, you will need NSIS. It can be run under windows and linux (see NSIS forum for instructions).


The latest version can always be downloaded from

To install from source, simply run:

python install


Add bdist_nsi option to your file.

In your projects

    import bdist_nsi
except ImportError:

nsis_options = {} # your nsis options
    name='your application name',
    author='your name',
    author_email='your email',
    options={'bdist_nsi': nsis_options, },
    license='your license',) # your setup options

You can create installer python bdist_nsi command.

If the makensis executable is not installed in one of the usual locations (/usr/bin, C:\Program Files\NSIS, or C:\Program Files (x86)\NSIS), then you can specify the NSIS folder with the --nsis-dir option, or just add -k to have a look at the temporary generated files.


Development happens at github, Fork at will!