- Issue 28: the argv emulator crashes in 64-bit mode on OSX 10.5
Fixing this issue required yet another rewrite of the argv_emulator
code.
- Added option '--arch=VALUE' which can be used to select the set of
architectures for the main executable. This defaults to the set of
architectures supported by the python interpreter and can be used to
drop support for some architectures (for example when you're using a
python binary that supports both 32-bit and 64-bit code and use a
GUI library that does not yet work in 64-bit mode).
Valid values for the argument are archectures used in the list below
and the following groups of architectures:
* fat: i386, ppc
* fat3: i386, x86_64, ppc
* universal: i386, x86_64, ppc, ppc64
* intel: i386, x86_64
- Issue 32: fix crash when application uses PySide
This is partially fixed in macholib (release 1.4.3)
- The '-O' flag of py2app now defaults to the python optimization level
when using python 2.6 or later.
- Issue 31: honor optimize flag at runtime.
Until now an application bundle created by py2app would also run without
the "-O" flag, even when the user specified it should. This is now fixed.
- Issue 33: py2app's application bundle launcher now clears the environment
variable ``PYOBJC_BUNDLE_ADDRESS``, avoids a crash when using PyObjC in an
application launched from a py2app based plugin bundle.
- py2app's bundle launcher set the environment variable ``PYOBJC_BUNDLE_ADDRESS``,
this variable is now deprecated. Use ``PYOBJC_BUNDLE_ADDRESS<PID>`` instead
(replace ``<PID>`` by the process ID of the current process).
- When using the system python we now explicitly add Apple's additional packages
(like PyObjC and Twisted) to ``sys.path``.
This fixes and issue reported by Sean Robinson: py2app used to create a non-working
bundle when you used these packages because the packages didn't get included
(as intended), but were not available on ``sys.path`` either.
- Fixed the recipe for sip, which in turn ensures that PyQt4 applications
work.
As before the SIP recipe is rather crude, it will include *all* SIP-based
packages into your application bundle when it detects a module that uses
SIP.
- The 'Resources' folder is no longer on the python search path,
it contains the scripts while Python modules and packages are located
in the site-packages directory. This change is related to issue 30.
- The folder 'Resources/Python/site-packages' is no longer on the python
search path. This folder is not used by py2app itself, but might by
used by custom build scripts that wrap around py2app.
- Issue 30: py2app bundles failed to launch properly when the scriptfile
has the same name as a python package used by the application.
- Issue 15: py2app now has an option to emulate the shell environment you
get by opening a window in the Terminal.
Usage: ``python setup.py py2app --emulate-shell-environment``
This option is experimental, it is far from certain that the implementation
works on all systems.
- Issue 16: ``--argv-emulation`` now works with Python 3.x and in 64-bit
executables.
- Issue 17: py2applet script defaults 'argv_emulation' to False when your using
a 64-bit build of python, because that option is not supported on
such builds.
- py2app now clears the temporary directory in 'build' and the output directory
in 'dist' before doing anything. This avoids unwanted interactions between
results from a previous builds and the current build.
- Issue 22: py2app will give an error when the specified version is invalid,
instead of causing a crash in the generated executable.
- Issue 23: py2app failed to work when an .egg directory was implicitly added
to ``sys.path`` by setuptools and the "-O" option was used (for example
``python setup.py py2app -O2``)
- Issue 26: py2app copied the wrong executable into the application bundle
when using virtualenv with a framework build of Python.