PyInstaller bundles a Python application and all its dependencies into a single package.

Edit Package python-PyInstaller

PyInstaller bundles a Python application and all its dependencies into a single package. The user can run the packaged app without installing a Python interpreter or any modules.

Documentation: https://pythonhosted.org/PyInstaller/
Website: http://www.pyinstaller.org
Code: https://github.com/pyinstaller/pyinstaller

PyInstaller reads a Python script written by you. It analyzes your code to discover every other module and library your script needs in order to execute. Then it collects copies of all those files – including the active Python interpreter! – and puts them with your script in a single folder, or optionally in a single executable file.

PyInstaller is tested against Windows, Mac OS X, and Linux. However, it is not a cross-compiler: to make a Windows app you run PyInstaller in Windows; to make a Linux app you run it in Linux, etc. PyInstaller has been used successfully with AIX, Solaris, and FreeBSD, but is not tested against them.

Main Advantages

- Works out-of-the-box with any Python version 2.7 / 3.3-3.5.
- Fully multi-platform, and uses the OS support to load the dynamic libraries, thus ensuring full compatibility.
- Correctly bundles the major Python packages such as numpy, PyQt4, PyQt5, PySide, Django, wxPython, matplotlib and others out-of-the-box.
- Compatible with many 3rd-party packages out-of-the-box. (All the required tricks to make external packages work are already integrated.)
- Libraries like PyQt5, PyQt4, PySide, wxPython, matplotlib or Django are fully supported, without having to handle plugins or external data files manually.
- Working code signing on OS X.
- Bundles MS Visual C++ DLLs on Windows.

Refresh
Refresh
Source Files
Filename Size Changed
pyinstaller-5.13.0.tar.gz 0003874599 3.7 MB
python-PyInstaller.changes 0000016330 15.9 KB
python-PyInstaller.spec 0000004374 4.27 KB
Revision 26 (latest revision is 27)
Matej Cepl's avatar Matej Cepl (mcepl) accepted request 1098148 from Markéta Machová's avatar Markéta Machová (mcalabkova) (revision 26)
- Update to 5.13.0
  * Allow controlling the build log level (--log-level) via a 
    PYI_LOG_LEVEL environment variable.
  * Fixes an issue with gi shared libraries not being packaged if 
    they don’t have version suffix and are in a special location 
    set by LD_LIBRARY_PATH instead of a typical library path.
  * The deprecated PEP-302 find_module() and load_module() methods 
    have been removed from PyInstaller’s FrozenImporter.
  * Compile the collected GLib schema files using glib-schema-compiler 
    instead of collecting the pre-compiled gschemas.compiled.
  * The archive_viewer utility has been rewritten with modified 
    command-line interface (--log has been renamed to --list) and 
    with changed output formatting. 
  * Extend PySide6 hooks for PySide6 6.5.0 compatibility.
  * Ensure that binaries that are manually specified in the .spec file 
    (or via corresponding --add-binary or --collect-binaries 
    command-line switches) undergo the binary dependency analysis, 
    so their dependencies are automatically collected. 
  * Remove the use of the TOC class in the analysis / build process, 
    and use plain list instances instead. 
  * Attempt to fix compatibility of PyInstaller’s PyiFrozenImporter 
    with importlib.util.LazyLoader.
  * Add support for Python 3.12.
  * Limit the import of collected packages prior to performing binary 
    dependency analysis to only Windows, where it is actually useful.
Comments 0
openSUSE Build Service is sponsored by