README.rst 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. Pynsist is a tool to build Windows installers for your Python applications. The
  2. installers bundle Python itself, so you can distribute your application to
  3. people who don't have Python installed.
  4. For more information, see `the documentation <https://pynsist.readthedocs.io/en/latest/>`_
  5. and `the examples <https://github.com/takluyver/pynsist/tree/master/examples>`_.
  6. Pynsist 2.7 requires Python 3.6 or above.
  7. You can use `Pynsist 2.6 <http://pynsist.readthedocs.io/en/2.6/>`_ on Python 3.5,
  8. and `Pynsist 1.x <http://pynsist.readthedocs.io/en/1.12/>`_ on Python 2.7 and
  9. Python 3.3 or above, but these versions won't get further updates.
  10. Quickstart
  11. ----------
  12. 1. Get the tools. Install `NSIS <http://nsis.sourceforge.net/Download>`_, and
  13. then install pynsist from PyPI by running ``pip install pynsist``.
  14. 2. Write a config file ``installer.cfg``, like this:
  15. .. code-block:: ini
  16. [Application]
  17. name=My App
  18. version=1.0
  19. # How to launch the app - this calls the 'main' function from the 'myapp' package:
  20. entry_point=myapp:main
  21. icon=myapp.ico
  22. [Python]
  23. version=3.6.3
  24. [Include]
  25. # Packages from PyPI that your application requires, one per line
  26. # These must have wheels on PyPI:
  27. pypi_wheels = requests==2.18.4
  28. beautifulsoup4==4.6.0
  29. html5lib==0.999999999
  30. # To bundle packages which don't publish wheels, or to include directly wheel files
  31. # from a directory, see the docs on the config file.
  32. # Other files and folders that should be installed
  33. files = LICENSE
  34. data_files/
  35. 3. Run ``pynsist installer.cfg`` to generate your installer. If ``pynsist`` isn't
  36. found, you can use ``python -m nsist installer.cfg`` instead.
  37. This example illustrates how to use Pynsist by itself, for simple projects.
  38. There are other options which can make it easier to integrate as a step in
  39. a more complex build process. See the docs for more information.