Changelog for PyInstaller 3.0 – 3.2.1¶
3.2.1 (2017-01-15)¶
New, updated and fixed hooks: botocore (#2094), gi (#2347), jira (#2222), PyQt5.QtWebEngineWidgets (#2269), skimage (#2195, 2225), sphinx (#2323,) xsge_gui (#2251).
Fixed the following issues:
Don’t fail if working directory already exists (#1994)
Avoid encoding errors in main script (#1976)
Fix hasher digest bytes not str (#2229, #2230)
(Windows) Fix additional dependency on the msvcrt10.dll (#1974)
(Windows) Correctly decode a bytes object produced by pefile (#1981)
(Windows) Package
pefile
with pyinstaller. This partially undoes some changes in 3.2 in which the packaged pefiles were removed to use the pypi version instead. The pypi version was considerably slower in some applications, and still has a couple of small issues on PY3. (#1920)(OS X) PyQt5 packaging issues on MacOS (#1874)
(OS X) Replace run-time search path keyword (#1965)
(OS X) (Re-) add argv emulation for OSX, 64-bit (#2219)
(OS X) use decode(“utf-8”) to convert bytes in getImports_macholib() (#1973)
(Bootloader) fix segfaults (#2176)
(setup.py) pass option –no-lsb on GNU/Linux only (#1975)
Updates and fixes in documentation, manuals, et al. (#1986, 2002, #2153, #2227, #2231)
3.2 (2016-05-03)¶
Even the “main” script is now byte-compiled (#1847, #1856)
The manual is on readthedocs.io now (#1578)
On installation try to compile the bootloader if there is none for the current plattform (#1377)
(Unix) Use
objcopy
to create a valid ELF file (#1812, #1831)(Linux): Compile with
_FORTIFY_SOURCE
(#1820)New, updated and fixed hooks: CherryPy (#1860), Cryptography (#1425, #1861), enchant (1562), gi.repository.GdkPixbuf (#1843), gst (#1963), Lib2to3 (#1768), PyQt4, PyQt5, PySide (#1783, #1897, #1887), SciPy (#1908, #1909), sphinx (#1911, #1912), sqlalchemy (#1951), traitlets wx.lib.pubsub (#1837, #1838),
For windowed mode add
isatty()
for our dummy NullWriter (#1883)Suppress “Failed to execute script” in case of SystemExit (#1869)
Do not apply Upx compressor for bootloader files (#1863)
Fix absolute path for lib used via ctypes (#1934)
(OSX) Fix binary cache on NFS (#1573, #1849)
(Windows) Fix message in grab_version (#1923)
(Windows) Fix wrong icon paramter in Windows example (#1764)
(Windows) Fix win32 unicode handling (#1878)
(Windows) Fix unnecessary rebuilds caused by rebuilding winmanifest (#1933)
(Cygwin) Fix finding the Python library for Cygwin 64-bit (#1307, #1810, #1811)
(OSX) Fix compilation issue (#1882)
(Windows) No longer bundle
pefile
, use package from pypi for windows (#1357)(Windows) Provide a more robust means of executing a Python script
AIX fixes.
Update waf to version 1.8.20 (#1868)
Fix excludedimports, more predictable order how hooks are applied #1651
Internal impovements and code clean-up (#1754, #1760, #1794, #1858, #1862, #1887, #1907, #1913)
Clean-ups fixes and improvements for the test suite
Known Issues
Apps built with Windows 10 and Python 3.5 may not run on Windows versions earlier than 10 (#1566).
The multipackage (MERGE) feature (#1527) is currently broken.
(OSX) Support for OpenDocument events (#1309) is broken.
3.1.1 (2016-01-31)¶
Fixed the following issues:
Fix problems with setuptools 19.4 (#1772, #1773, #1790, #1791)
3.1 does not collect certain direct imports (#1780)
Git reports wrong version even if on unchanged release (#1778)
Don’t resolve symlinks in modulegraph.py (#1750, #1755)
ShortFileName not returned in win32 util (#1799)
3.1 (2016-01-09)¶
Support reproducible builds (#490, #1434, #1582, #1590).
Strip leading parts of paths in compiled code objects (#1059, #1302, #1724).
With
--log-level=DEBUG
, a dependency graph-file is emitted in the build-directory.Allow running pyinstaller as user root. By popular demand, see e.g. #1564, #1459, #1081.
New Hooks: botocore, boto3, distorm3, GObject, GI (G Introspection), GStreamer, GEvent, kivy, lxml.isoschematron, pubsub.core, PyQt5.QtMultimedia, scipy.linalg, shelve.
Fixed or Updated Hooks: astroid, django, jsonschema logilab, PyQt4, PyQt5, skimage, sklearn.
Add option
--hiddenimport
as an alias for--hidden-import
.(OSX): Fix issues with
st_flags
(#1650).(OSX) Remove warning message about 32bit compatibility (#1586).
(Linux) The cache is now stored in
$XDG_CACHE_HOME/pyinstaller
instead of$XDG_DATA_HOME
- the cache is moved automatically (#1118).Documentation updates, e.g. about reproducible builds
Put back full text of GPL license into COPYING.txt.
Fix crashes when looking for ctypes DLLs (#1608, #1609, #1620).
Fix: Imports in byte-code not found if code contains a function (#1581).
Fix recursion into bytes-code when scanning for ctypes (#1620).
Fix PyCrypto modules to work with crypto feature (
--key
option) (#1663).Fix problems with
excludedimports
in some hook excluding the named modules even if used elswhere (#1584, #1600).Fix freezing of pip 7.1.2 (#1699).
FreeBSD and Solaris fixes.
Search for
ldconfig
in $PATH first (#1659)Deny processing outdated package
_xmlplus
.Improvements to the test-suite, testing infrastructure and continuous integration.
For non-release builds, the exact git revision is not used.
Internal code refactoring.
Enhancements and clean-ups to the hooks API - only relevant for hook authors. See the manual for details. E.g:
Removed
attrs
in hooks - they were not used anymore anyway.Change
add/del_import()
to accept arbitrary number of module names.New hook utility function
copy_metadata()
.
Known Issues
Apps built with Windows 10 and Python 3.5 may not run on Windows versions earlier than 10 (#1566).
The multipackage (MERGE) feature (#1527) is currently broken.
(OSX) Support for OpenDocument events (#1309) is broken.
3.0 (2015-10-04)¶
Python 3 support (3.3 / 3.4 / 3.5).
Remove support for Python 2.6 and lower.
Full unicode support in the bootloader (#824, #1224, #1323, #1340, #1396)
(Windows) Python 2.7 apps can now run from paths with non-ASCII characters
(Windows) Python 2.7 onefile apps can now run for users whose usernames contain non-ASCII characters
Fix
sys.getfilesystemencoding()
to return correct values (#446, #885).
(OSX) Executables built with PyInstaller under OS X can now be digitally signed.
(OSX) 32bit precompiled bootloader no longer distributed, only 64bit.
(Windows) for 32bit bootloader enable flag LARGEADDRESSAWARE that allows to use 4GB of RAM.
New hooks: amazon-product-api, appy, certifi, countrycode, cryptography, gi, httplib2, jsonschema, keyring, lensfunpy, mpl_toolkits.basemap, ncclient, netCDF4, OpenCV, osgeo, patsy, PsychoPy, pycountry, pycparser, PyExcelerate, PyGobject, pymssql, PyNaCl, PySiDe.QtCore, PySide.QtGui, rawpy, requests, scapy, scipy, six, SpeechRecognition, u1db, weasyprint, Xlib.
Hook fixes: babel, ctypes, django, IPython, pint, PyEnchant, Pygments, PyQt5, PySide, pyusb, sphinx, sqlalchemy, tkinter, wxPython.
Add support for automatically including data files from eggs.
Add support for directory eggs support.
Add support for all kind of namespace packages e.g.
zope.interface
, PEP302 (#502, #615, #665, #1346).Add support for
pkgutil.extend_path()
.New option
--key
to obfuscate the Python bytecode.New option
--exclude-module
to ignore a specific module or package.(Windows) New option
--uac-admin
to request admin permissions before starting the app.(Windows) New option
--uac-uiaccess
allows an elevated application to work with Remote Desktop.(Windows) New options for Side-by-side Assembly searching:
--win-private-assemblies
bundled Shared Assemblies into the application will be changed into Private Assemblies--win-no-prefer-redirects
while searching for Assemblies PyInstaller will prefer not to follow policies that redirect to newer versions.
(OSX) New option
--osx-bundle-identifier
to set .app bundle identifier.(Windows) Remove old COM server support.
Allow override PyInstaller default config directory by environment variable
PYINSTALLER_CONFIG_DIR
.Add FreeBSD support.
AIX fixes.
Solaris fixes.
Use library modulegraph for module dependency analysis.
Bootloader debug messages
LOADER: ...
printed to stderr.PyInstaller no longer extends
sys.path
and bundled 3rd-party libraries do not interfere with their other versions.Enhancemants to
Analysis()
:New arguments
excludedimports
to exclude Python modules in import hooks.New argument
binaries
to bundle dynamic libraries in .spec file and in import hooks.New argument
datas
to bundle additional data files in .spec file and in import hooks.
A lot of internal code refactoring.
Test suite migrated to pytest framework.
Improved testing infrastructure with continuous integration (Travis - Linux, Appveyor - Windows)
Wiki and bug tracker migrated to github.
Known Issues
Apps built with Windows 10 and Python 3.5 may not run on Windows versions earlier than 10 (#1566).
The multipackage (MERGE) feature (#1527) is currenty broken.
(OSX) Support for OpenDocument events (#1309) is broken.