Options can be specified to py2app to influence the build procedure in three different ways:
At the command line:
$ python setup.py py2app --argv-emulation
In your setup.py:
setup( app=['MyApplication.py'], options=dict(py2app=dict( argv_emulation=1, )), )
In a setup.cfg file:
Note that when translating command-line options for use in setup.py, you must replace hyphens (-) with underscores (_). setup.cfg files may use either hyphens or underscores, but command-line options must always use the hyphens.
To enumerate the options that py2app supports, use the following command:
$ python setup.py py2app --help
Options for ‘py2app’ command:
--optimize (-O) optimization level: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0] --includes (-i) comma-separated list of modules to include --packages (-p) comma-separated list of packages to include --iconfile Icon file to use --excludes (-e) comma-separated list of modules to exclude --dylib-excludes (-E) comma-separated list of frameworks or dylibs to exclude --datamodels xcdatamodels to be compiled and copied into Resources --resources (-r) comma-separated list of additional data files and folders to include (not for code!) --frameworks (-f) comma-separated list of additional frameworks and dylibs to include --plist (-P) Info.plist template file, dict, or plistlib.Plist --extension Bundle extension [default:.app for app, .plugin for plugin] --graph (-g) output module dependency graph --xref (-x) output module cross-reference as html --no-strip do not strip debug and local symbols from output --no-chdir (-C) do not change to the data directory (Contents/Resources) [forced for plugins] --semi-standalone (-s) depend on an existing installation of Python --alias (-A) Use an alias to current source file (for development only!) --argv-emulation (-a) Use argv emulation [disabled for plugins]. Does not work with python 3.x --argv-inject Inject some commands into the argv --use-pythonpath Allow PYTHONPATH to effect the interpreter's environment --bdist-base (-b) base directory for build library (default is build) --dist-dir (-d) directory to put final built distributions in (default is dist) --site-packages include the system and user site-packages into sys.path --strip (-S) strip debug and local symbols from output (on by default, for compatibility) --prefer-ppc Force application to run translated on i386 (LSPrefersPPC=True) --debug-modulegraph Drop to pdb console after the module finding phase is complete --debug-skip-macholib skip macholib phase (app will not be standalone!) --emulate-shell-environment emulate the shell environment in a Terminal window --qt-plugins comma-separated list of Qt plugins to include in a application using PyQt4. --matplotlib-backends comma-separated list of matplotlib backends to include in an application using that library. The default is to include all of matplotlib. Use '*' to include all backends, and '-' to only include backends that are explicitly imported. --extra-scripts comma-separated list of additional scripts to include in an application or plugin.