From f5d2a2fc7cb883a98efbe0a3379187145dc3bd8c Mon Sep 17 00:00:00 2001 From: Erlend Egeberg Aasland Date: Sun, 23 May 2021 00:03:09 +0200 Subject: [PATCH] bpo-30757: Improve "How to make stand-alone binaries" FAQ (GH-26309) Co-authored-by: denfromufa Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com> (cherry picked from commit 2a1e6698b10a7b58c6ac66429de0f51cb739da35) Co-authored-by: Erlend Egeberg Aasland --- Doc/faq/programming.rst | 17 ++++++++++------- Doc/faq/windows.rst | 5 ++--- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst index ed03c494388805..921357d8fcdd2c 100644 --- a/Doc/faq/programming.rst +++ b/Doc/faq/programming.rst @@ -66,6 +66,8 @@ Static type checkers such as `Mypy `_, source code. +.. _faq-create-standalone-binary: + How can I create a stand-alone binary from a Python script? ----------------------------------------------------------- @@ -89,14 +91,15 @@ only contains those built-in modules which are actually used in the program. It then compiles the generated C code and links it with the rest of the Python interpreter to form a self-contained binary which acts exactly like your script. -Obviously, freeze requires a C compiler. There are several other utilities -which don't: - -* `py2exe `_ for Windows binaries -* `py2app `_ for Mac OS X binaries -* `cx_Freeze `_ for cross-platform - binaries +The following packages can help with the creation of console and GUI +executables: +* `Nuitka `_ (Cross-platform) +* `PyInstaller `_ (Cross-platform) +* `PyOxidizer `_ (Cross-platform) +* `cx_Freeze `_ (Cross-platform) +* `py2app `_ (macOS only) +* `py2exe `_ (Windows only) Are there coding standards or a style guide for Python programs? ---------------------------------------------------------------- diff --git a/Doc/faq/windows.rst b/Doc/faq/windows.rst index 186dac2e255b37..0153a4f316ee82 100644 --- a/Doc/faq/windows.rst +++ b/Doc/faq/windows.rst @@ -140,9 +140,8 @@ offender. How do I make an executable from a Python script? ------------------------------------------------- -See `cx_Freeze `_ and -`py2exe `_, both are distutils extensions -that allow you to create console and GUI executables from Python code. +See :ref:`faq-create-standalone-binary` for a list of tools that can be used to +make executables. Is a ``*.pyd`` file the same as a DLL?