Python to Windows Executable (py2exe, pyinstaller, cx_freeze or ?)

This page summarizes the projects mentioned and recommended in the original post on /r/Python

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • java-exe-example

    Example of taking an arbitrary java program and making an exe

  • EDMarketConnector

    Downloads commodity market and other station data from the game Elite: Dangerous for use with all popular online and offline trading tools.

  • I use py2exe to build https://github.com/EDCD/EDMarketConnector/ .

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • tk-radio-buttons

    Test code for a tk radio button Windows scaling bug

  • A simpler example ( for a tk/tkinter bug report ) is at https://github.com/Athanasius/tk-radio-buttons

  • Nuitka

    Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.

  • Nuitka cross compiles your app into C++ then compiled that to create a signed binary. https://github.com/Nuitka/Nuitka.

  • open-webdriver

    Yet another web driver wrapper for python. But this one has cross platform tests!

  • Here is an example where I've used it to compile a semi-complex app: https://github.com/zackees/open-webdriver/blob/main/open_webdriver/tests/nuitka/test_binary_build.py

  • primenote

  • I tried them all and NSIS is the best tool I found to make Python bundles for Windows, especially for GUI frameworks such as Qt. It a bit of trial and error at first but it works great then. There is a Python wrapper called pynsist so you can simply call pynsist nsis.cfg to package your project. See here for an example config file.

  • briefcase

    Tools to support converting a Python project into a standalone native application.

  • Another option for packaging Python apps is the BeeWare project Briefcase (https://github.com/beeware/briefcase). The only limitation that exists in your specific case is Tkinter - Briefcase doesn't support packaging Tkinter apps, but it does support Qt and Toga (BeeWare's GUI toolkit) Toga; Toga is design to be as approachable as Tkinter.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts