mrjob v0.3.0 released
What is mrjob? --- mrjob is a Python package that helps you write and run Hadoop Streaming jobs. mrjob fully supports Amazon's Elastic MapReduce (EMR) service, which allows you to buy time on a Hadoop cluster on an hourly basis. It also works with your own Hadoop cluster. Some important features: * Run jobs on EMR, your own Hadoop cluster, or locally (for testing). * Write multi-step jobs (one map-reduce step feeds into the next) * Duplicate your production environment inside Hadoop * Upload your source tree and put it in your job's $PYTHONPATH * Run make and other setup scripts * Set environment variables (e.g. $TZ) * Easily install python packages from tarballs (EMR only) * Setup handled transparently by mrjob.conf config file * Automatically interpret error logs from EMR * SSH tunnel to hadoop job tracker on EMR * Minimal setup * To run on EMR, set $AWS_ACCESS_KEY_ID and $AWS_SECRET_ACCESS_KEY * To run on your Hadoop cluster, install simplejson and make sure $HADOOP_HOME is set. More info: * Install mrjob: pip install mrjob -OR- easy_install mrjob * Documentation: http://packages.python.org/mrjob/ * PyPI: http://pypi.python.org/pypi/mrjob * Mailing list: http://groups.google.com/group/mrjob * Development is hosted at github: http://github.com/Yelp/mrjob What's new? mrjob v0.3.0 is a major new release. Full details are at http://packages.python.org/mrjob/whats-new.html - here are a few highlights: v0.3.0, 2011-12-07 * Combiners * *_init() and *_final() for mappers, reducers, and combiners * Custom option parsers * Job flow pooling on EMR (saves time and money!) * SSH log fetching * New EMR diagnostic tools A big thanks to the contributors to this release: Steve Johnson, Dave Marin, Wahbeh Qardaji, Derek Wilson, Jordan Andersen, and Benjamin Goldenberg! -- http://mail.python.org/mailman/listinfo/python-list
mrjob v0.2.7 released
What is mrjob? - mrjob is a Python package that helps you write and run Hadoop Streaming jobs. mrjob fully supports Amazon's Elastic MapReduce (EMR) service, which allows you to buy time on a Hadoop cluster on an hourly basis. It also works with your own Hadoop cluster. Some important features: * Run jobs on EMR, your own Hadoop cluster, or locally (for testing). * Write multi-step jobs (one map-reduce step feeds into the next) * Duplicate your production environment inside Hadoop * Upload your source tree and put it in your job's $PYTHONPATH * Run make and other setup scripts * Set environment variables (e.g. $TZ) * Easily install python packages from tarballs (EMR only) * Setup handled transparently by mrjob.conf config file * Automatically interpret error logs from EMR * SSH tunnel to hadoop job tracker on EMR * Minimal setup * To run on EMR, set $AWS_ACCESS_KEY_ID and $AWS_SECRET_ACCESS_KEY * To run on your Hadoop cluster, install simplejson and make sure $HADOOP_HOME is set. More info: * Install mrjob: python setup.py install * Documentation: http://packages.python.org/mrjob/ * PyPI: http://pypi.python.org/pypi/mrjob * Development is hosted at github: http://github.com/Yelp/mrjob What's new? - Big thank you to Yelp intern Steve Johnson, who wrote the majority of the code for this release. Wahbeh Qardaji, another Yelp intern, contributed as well, and has been working hard on features for v0.3.0. v0.2.7, 2011-07-12 -- Hooray for interns! * All runner options can be set from the command line (Issue #121) * Including for mrjob.tools.emr.create_job_flow (Issue #142) * New EMR options: * availability_zone (Issue #72) * bootstrap_actions (Issue #69) * enable_emr_debugging (Issue #133) * Read counters from EMR log files (Issue #134) * Clean old files out of S3 with mrjob.tools.emr.s3_tmpwatch (Issue #9) * EMR parses and reports job failure due to steps timing out (Issue #15) * EMR boostrap files are no longer made public on S3 (Issue #70) * mrjob.tools.emr.terminate_idle_job_flows handles custom hadoop streaming jars correctly (Issue #116) * LocalMRJobRunner separates out counters by step (Issue #28) * bootstrap_python_packages works regardless of tarball name (Issue #49) * mrjob always creates temp buckets in the correct AWS region (Issue #64) * Catch abuse of __main__ in jobs (Issue #78) * Added mr_travelling_salesman example -- http://mail.python.org/mailman/listinfo/python-list
Subject: mrjob v0.2.6 released
What is mrjob? - mrjob is a Python package that helps you write and run Hadoop Streaming jobs. mrjob fully supports Amazon's Elastic MapReduce (EMR) service, which allows you to buy time on a Hadoop cluster on an hourly basis. It also works with your own Hadoop cluster. Some important features: * Run jobs on EMR, your own Hadoop cluster, or locally (for testing). * Write multi-step jobs (one map-reduce step feeds into the next) * Duplicate your production environment inside Hadoop * Upload your source tree and put it in your job's $PYTHONPATH * Run make and other setup scripts * Set environment variables (e.g. $TZ) * Easily install python packages from tarballs (EMR only) * Setup handled transparently by mrjob.conf config file * Automatically interpret error logs from EMR * SSH tunnel to hadoop job tracker on EMR * Minimal setup * To run on EMR, set $AWS_ACCESS_KEY_ID and $AWS_SECRET_ACCESS_KEY * To run on your Hadoop cluster, install simplejson and make sure $HADOOP_HOME is set. More info: * Install mrjob: python setup.py install * Documentation: http://packages.python.org/mrjob/ * PyPI: http://pypi.python.org/pypi/mrjob * Development is hosted at github: http://github.com/Yelp/mrjob What's new? - v0.2.6, 2011-05-24 -- fix bootstrapping mrjob * Set Hadoop to run on EMR with --hadoop-version (Issue #71). * Default is still 0.18, but will change to 0.20 in mrjob v0.3.0. * New inline runner, for testing locally with a debugger * New --strict-protocols option, to catch unencodable data (Issue #76) * Added steps_python_bin option (for use with virtualenv) * mrjob no longer chokes when asked to run on an EMR job flow running Hadoop 0.20 (Issue #110) * mrjob no longer chokes on job flows with no LogUri (Issue #112) -- http://mail.python.org/mailman/listinfo/python-list
mrjob v0.2.5 released
What is mrjob? --- mrjob is a Python package that helps you write and run Hadoop Streaming jobs. mrjob fully supports Amazon's Elastic MapReduce (EMR) service, which allows you to buy time on a Hadoop cluster on an hourly basis. It also works with your own Hadoop cluster. Some important features: * Run jobs on EMR, your own Hadoop cluster, or locally (for testing). * Write multi-step jobs (one map-reduce step feeds into the next) * Duplicate your production environment inside Hadoop * Upload your source tree and put it in your job's $PYTHONPATH * Run make and other setup scripts * Set environment variables (e.g. $TZ) * Easily install python packages from tarballs (EMR only) * Setup handled transparently by mrjob.conf config file * Automatically interpret error logs from EMR * SSH tunnel to hadoop job tracker on EMR * Minimal setup * To run on EMR, set $AWS_ACCESS_KEY_ID and $AWS_SECRET_ACCESS_KEY * To run on your Hadoop cluster, install simplejson and make sure $HADOOP_HOME is set. More info: * Install mrjob: python setup.py install * Documentation: http://packages.python.org/mrjob/ * PyPI: http://pypi.python.org/pypi/mrjob * Discussion: http://groups.google.com/group/mrjob * Development is hosted at github: http://github.com/Yelp/mrjob What's new? --- v0.2.5, 2011-04-29 -- Hadoop input and output formats * Added hadoop_input/output_format options * You can now specify a custom Hadoop streaming jar (hadoop_streaming_jar) * extra args to hadoop now come before -mapper/-reducer on EMR, so that e.g. -libjar will work (worked in hadoop mode since v0.2.2) * hadoop mode now supports s3n:// URIs (Issue #53) -- http://mail.python.org/mailman/listinfo/python-list
mrjob v0.2.4 released
What is mrjob? --- mrjob is a Python package that helps you write and run Hadoop Streaming jobs. mrjob fully supports Amazon's Elastic MapReduce (EMR) service, which allows you to buy time on a Hadoop cluster on an hourly basis. It also works with your own Hadoop cluster. Some important features: * Run jobs on EMR, your own Hadoop cluster, or locally (for testing). * Write multi-step jobs (one map-reduce step feeds into the next) * Duplicate your production environment inside Hadoop * Upload your source tree and put it in your job's $PYTHONPATH * Run make and other setup scripts * Set environment variables (e.g. $TZ) * Easily install python packages from tarballs (EMR only) * Setup handled transparently by mrjob.conf config file * Automatically interpret error logs from EMR * SSH tunnel to hadoop job tracker on EMR * Minimal setup * To run on EMR, set $AWS_ACCESS_KEY_ID and $AWS_SECRET_ACCESS_KEY * To run on your Hadoop cluster, install simplejson and make sure $HADOOP_HOME is set. More info: * Install mrjob: python setup.py install * Documentation: http://packages.python.org/mrjob/ * PyPI: http://pypi.python.org/pypi/mrjob * Development is hosted at github: http://github.com/Yelp/mrjob What's new? --- v0.2.4, 2011-03-09 -- fix bootstrapping mrjob * Fix bootstrapping of mrjob in hadoop and local mode (Issue #89) * SSH tunnels try to use the same port for the same job flow (Issue #67) * Added mr_postfix_bounce and mr_pegasos_svm to examples. * Retry on spurious 505s from EMR API -- http://mail.python.org/mailman/listinfo/python-list
Re: [Py2exe-users] how to build same executabl with and without console output
On Fri, Jul 30, 2010 at 1:10 AM, Gelonida wrote: > What I'd like to achieve ideally is to create a py2exe program, > which > will only display a window (so 'compiled' as 'windows'-application) if > called normally. > > however if being called with the option --debug it should display the > graphical window plus a debug console where I can print to. > > Is there any trick in adding a console window to an application, > that was built as 'windows' application? > > If above is not possible: > > Is there any way to compile the same python script (myprog.py) from one > py2exe script into once a 'windows' executable (myprog.exe) and once > into a 'console' executable (myprog_debug.exe)? I can't think of an easy way to achieve the first approach - I've always taken the second approach. The advanced example included with py2exe has an example of how to do this. Look at all the occurrences of test_wx in the following link to see all the pieces involved: http://py2exe.svn.sourceforge.net/viewvc/py2exe/trunk/py2exe/py2exe/samples/advanced/setup.py?view=markup This uses an alternate form of the "windows" and "console" arguments where each target is an object with specially named member variables rather than a string that names the .py file (this string is one of the member variables). This is necessary so you can give different names to the console version and the windows version. Jimmy -- http://mail.python.org/mailman/listinfo/python-list
py2exe 0.6.9 released
py2exe 0.6.9 released = py2exe is a Python distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation. Console and Windows (GUI) applications, Windows NT services, exe and dll COM servers are supported. Changes in 0.6.9: * Binaries for Python 2.6 and Python 2.7. * Fixed a modulefinder crash on certain relative imports. * Changed the py2exe\samples\singlefile\gui\test_wx.py sample to use the wx package instead of the old wxPython package. * Copy the manifest, if any, from the 'template' into the targets to ensure embedded assembly references, as required for python 2.6 based apps, are copied. * Allow each target to specify Vista User Access Control flags. For example, specifying 'uac_execution_info="requireAdministrator"' would force elevation for the final executable. Changes in 0.6.8: * Support for relative imports. * Fix MemoryLoadLibrary to handle loading function addresses by ordinal numbers. Patch and test by Matthias Miller. * Using the options compressed=1, bundle_files=3, and zipfile=None at the same time now works; patch from Alexey Borzenkov. * Allow renaming of single-executable files; patch from Alexey Borzenkov. * Embedding icon resources into the image now works correctly even for ico files containing multiple images. * pyd files from different packages with the same filename no longer conflict. Patch from Grant Edwards. * There are new samples for the 'typelibs' support, including the new option of pre-generating a typelib and specifying the file as an input to py2exe. * The test suite is now included in the source distribution. Changes in 0.6.6: * Better support for Python 2.5. * Experimental support for 64-bit builds of Python on win64. * Better ISAPI support. * New samples for ISAPI and COM servers. * Support for new "command-line styles" when building Windows services. Changes in 0.6.5: * Fixed modulefinder / mf related bugs introduced in 0.6.4. This will be most evident when working with things like win32com.shell and xml.xpath. * Files no longer keep read-only attributes when they are copied as this was causing problems with the copying of some MS DLLs. Changes in 0.6.4: * New skip-archive option which copies the Python bytecode files directly into the dist directory and subdirectories - no archive is used. * An experimental new custom-boot-script option which allows a boot script to be specified (e.g., --custom-boot-script=cbs.py) which can do things like installing a customized stdout blackhole. See py2exe's boot_common.py for examples of what can be done. The custom boot script is executed during startup of the executable immediately after boot_common.py is executed. * Thomas Heller's performance improvements for finding needed modules. * Mark Hammond's fix for thread-state errors when a py2exe created executable tries to use a py2exe created COM DLL. Changes in 0.6.3: * First release assembled by py2exe's new maintainer, Jimmy Retzlaff. Code changes in this release are from Thomas Heller and Gordon Scott. * The dll-excludes option is now available on the command line. It was only possible to specify that in the options argument to the setup function before. The dll-excludes option can now be used to filter out dlls like msvcr71.dll or even w9xpopen.exe. * Fix from Gordon Scott: py2exe crashed copying extension modules in packages. Changes in 0.6.2: * Several important bugfixes: - bundled extensions in packages did not work correctly, this made the wxPython single-file sample fail with newer wxPython versions. - occasionally dlls/pyds were loaded twice, with very strange effects. - the source distribution was not complete. - it is now possible to build a debug version of py2exe. Changes in 0.6.1: * py2exe can now bundle binary extensions and dlls into the library-archive or the executable itself. This allows to finally build real single-file executables. The bundled dlls and pyds are loaded at runtime by some special code that emulates the Windows LoadLibrary function - they are never unpacked to the file system. This part of the code is distributed under the MPL 1.1, so this license is now pulled in by py2exe. * By default py2exe now includes the codecs module and the encodings package. * Several other fixes. Homepage: <http://www.py2exe.org> Download from the usual location: <http://sourceforge.net/project/showfiles.php?group_id=15583> Enjoy, Jimmy -- http://mail.python.org/mailman/listinfo/python-list
py2exe 0.6.8 released
py2exe 0.6.8 released = py2exe is a Python distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation. Console and Windows (GUI) applications, Windows NT services, exe and dll COM servers are supported. Changes in 0.6.8: * Support for relative imports. * Fix MemoryLoadLibrary to handle loading function addresses by ordinal numbers. Patch and test by Matthias Miller. * Using the options compressed=1, bundle_files=3, and zipfile=None at the same time now works; patch from Alexey Borzenkov. * Allow renaming of single-executable files; patch from Alexey Borzenkov. * Embedding icon resources into the image now works correctly even for ico files containing multiple images. * pyd files from different packages with the same filename no longer conflict. Patch from Grant Edwards. * There are new samples for the 'typelibs' support, including the new option of pre-generating a typelib and specifying the file as an input to py2exe. * The test suite is now included in the source distribution. Changes in 0.6.6: * Better support for Python 2.5. * Experimental support for 64-bit builds of Python on win64. * Better ISAPI support. * New samples for ISAPI and COM servers. * Support for new "command-line styles" when building Windows services. Changes in 0.6.5: * Fixed modulefinder / mf related bugs introduced in 0.6.4. This will be most evident when working with things like win32com.shell and xml.xpath. * Files no longer keep read-only attributes when they are copied as this was causing problems with the copying of some MS DLLs. Changes in 0.6.4: * New skip-archive option which copies the Python bytecode files directly into the dist directory and subdirectories - no archive is used. * An experimental new custom-boot-script option which allows a boot script to be specified (e.g., --custom-boot-script=cbs.py) which can do things like installing a customized stdout blackhole. See py2exe's boot_common.py for examples of what can be done. The custom boot script is executed during startup of the executable immediately after boot_common.py is executed. * Thomas Heller's performance improvements for finding needed modules. * Mark Hammond's fix for thread-state errors when a py2exe created executable tries to use a py2exe created COM DLL. Changes in 0.6.3: * First release assembled by py2exe's new maintainer, Jimmy Retzlaff. Code changes in this release are from Thomas Heller and Gordon Scott. * The dll-excludes option is now available on the command line. It was only possible to specify that in the options argument to the setup function before. The dll-excludes option can now be used to filter out dlls like msvcr71.dll or even w9xpopen.exe. * Fix from Gordon Scott: py2exe crashed copying extension modules in packages. Changes in 0.6.2: * Several important bugfixes: - bundled extensions in packages did not work correctly, this made the wxPython single-file sample fail with newer wxPython versions. - occasionally dlls/pyds were loaded twice, with very strange effects. - the source distribution was not complete. - it is now possible to build a debug version of py2exe. Changes in 0.6.1: * py2exe can now bundle binary extensions and dlls into the library-archive or the executable itself. This allows to finally build real single-file executables. The bundled dlls and pyds are loaded at runtime by some special code that emulates the Windows LoadLibrary function - they are never unpacked to the file system. This part of the code is distributed under the MPL 1.1, so this license is now pulled in by py2exe. * By default py2exe now includes the codecs module and the encodings package. * Several other fixes. Homepage: <http://www.py2exe.org> Download from the usual location: <http://sourceforge.net/project/showfiles.php?group_id=15583> Enjoy, Jimmy -- http://mail.python.org/mailman/listinfo/python-list
ANN: EasyDialogs for Windows version 46691.0
EasyDialogs for Windows is available at: http://www.averdevelopment.com/python/ EasyDialogs for Windows is a ctypes based emulation of the EasyDialogs module included in the Python distribution for Mac. It attempts to be as compatible as possible. Code using the Mac EasyDialogs module can often be run unchanged on Windows using this module. The module has been tested on Python 2.3 running on Windows NT, 98, XP, and 2003. EasyDialogs is written in pure Python using Thomas Heller's ctypes module to call Windows APIs directly. No Python GUI toolkit is used. This means that relatively small distributions can be made with py2exe (or its equivalents). A simple test of all the dialogs in EasyDialogs bundled up using py2exe results in a distribution that is about 1.25MB. Using py2exe in concert with NSIS as shown here allows the same test to run as a single file executable that is just under 500KB. Requires: Microsoft Windows, Python 2.3 or higher, and ctypes 0.6.3 or higher (ctypes is included with Python 2.5 and higher, so it is not a separate requirement there). License: MIT Change history: Version 46691.0 - Fixed a bug that caused warnings with newer version of ctypes (including the version included in Python 2.5) - The edit box in AskString now scrolls horizontally if the entered text does not otherwise fit - AskFileForOpen(multiple=True) will allow multiple files to be selected and a list of strings will be returned. If multiple is False (the default if not specified) then only a single file can be selected and a string is returned. This no longer seems to work on the Mac, but it's useful enough to add it to the Windows version anyway. This change is based on a patch contributed by Waldemar Osuch. - Made minor changes to bring inline with SVN revision 46691 for Mac Version 1.16.0 - Removed resource DLL, resources are now in a Python source file which simplifies distribution of apps with py2exe - Spelling corrections - File open/save dialogs did not display on Windows 98 - AskString edit boxes were too short on Windows 98 - Improved display of drop down lists on Windows 98 and NT - Made minor changes to bring inline with CVS version 1.16 for Mac Version 1.14.0 - Initial public release Jimmy -- http://mail.python.org/mailman/listinfo/python-list
py2exe 0.6.6 released
py2exe 0.6.6 released = py2exe is a Python distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation. Console and Windows (GUI) applications, Windows NT services, exe and dll COM servers are supported. Changes in 0.6.6: * Better support for Python 2.5. * Experimental support for 64-bit builds of Python on win64. * Better ISAPI support. * New samples for ISAPI and COM servers. * Support for new "command-line styles" when building Windows services. Changes in 0.6.5: * Fixed modulefinder / mf related bugs introduced in 0.6.4. This will be most evident when working with things like win32com.shell and xml.xpath. * Files no longer keep read-only attributes when they are copied as this was causing problems with the copying of some MS DLLs. Changes in 0.6.4: * New skip-archive option which copies the Python bytecode files directly into the dist directory and subdirectories - no archive is used. * An experimental new custom-boot-script option which allows a boot script to be specified (e.g., --custom-boot-script=cbs.py) which can do things like installing a customized stdout blackhole. See py2exe's boot_common.py for examples of what can be done. The custom boot script is executed during startup of the executable immediately after boot_common.py is executed. * Thomas Heller's performance improvements for finding needed modules. * Mark Hammond's fix for thread-state errors when a py2exe created executable tries to use a py2exe created COM DLL. Changes in 0.6.3: * First release assembled by py2exe's new maintainer, Jimmy Retzlaff. Code changes in this release are from Thomas Heller and Gordon Scott. * The dll-excludes option is now available on the command line. It was only possible to specify that in the options argument to the setup function before. The dll-excludes option can now be used to filter out dlls like msvcr71.dll or even w9xpopen.exe. * Fix from Gordon Scott: py2exe crashed copying extension modules in packages. Changes in 0.6.2: * Several important bugfixes: - bundled extensions in packages did not work correctly, this made the wxPython single-file sample fail with newer wxPython versions. - occasionally dlls/pyds were loaded twice, with very strange effects. - the source distribution was not complete. - it is now possible to build a debug version of py2exe. Changes in 0.6.1: * py2exe can now bundle binary extensions and dlls into the library-archive or the executable itself. This allows to finally build real single-file executables. The bundled dlls and pyds are loaded at runtime by some special code that emulates the Windows LoadLibrary function - they are never unpacked to the file system. This part of the code is distributed under the MPL 1.1, so this license is now pulled in by py2exe. * By default py2exe now includes the codecs module and the encodings package. * Several other fixes. Homepage: <http://www.py2exe.org> Download from the usual location: <http://sourceforge.net/project/showfiles.php?group_id=15583> Enjoy, Jimmy -- http://mail.python.org/mailman/listinfo/python-list
py2exe 0.6.5 released
py2exe 0.6.5 released = py2exe is a Python distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation. Console and Windows (GUI) applications, Windows NT services, exe and dll COM servers are supported. Changes in 0.6.5: * Fixed modulefinder / mf related bugs introduced in 0.6.4. This will be most evident when working with things like win32com.shell and xml.xpath. * Files no longer keep read-only attributes when they are copied as this was causing problems with the copying of some MS DLLs. Changes in 0.6.4: * New skip-archive option which copies the Python bytecode files directly into the dist directory and subdirectories - no archive is used. * An experimental new custom-boot-script option which allows a boot script to be specified (e.g., --custom-boot-script=cbs.py) which can do things like installing a customized stdout blackhole. See py2exe's boot_common.py for examples of what can be done. The custom boot script is executed during startup of the executable immediately after boot_common.py is executed. * Thomas Heller's performance improvements for finding needed modules. * Mark Hammond's fix for thread-state errors when a py2exe created executable tries to use a py2exe created COM DLL. Changes in 0.6.3: * First release assembled by py2exe's new maintainer, Jimmy Retzlaff. Code changes in this release are from Thomas Heller and Gordon Scott. * The dll-excludes option is now available on the command line. It was only possible to specify that in the options argument to the setup function before. The dll-excludes option can now be used to filter out dlls like msvcr71.dll or even w9xpopen.exe. * Fix from Gordon Scott: py2exe crashed copying extension modules in packages. Changes in 0.6.2: * Several important bugfixes: - bundled extensions in packages did not work correctly, this made the wxPython single-file sample fail with newer wxPython versions. - occasionally dlls/pyds were loaded twice, with very strange effects. - the source distribution was not complete. - it is now possible to build a debug version of py2exe. Changes in 0.6.1: * py2exe can now bundle binary extensions and dlls into the library-archive or the executable itself. This allows to finally build real single-file executables. The bundled dlls and pyds are loaded at runtime by some special code that emulates the Windows LoadLibrary function - they are never unpacked to the file system. This part of the code is distributed under the MPL 1.1, so this license is now pulled in by py2exe. * By default py2exe now includes the codecs module and the encodings package. * Several other fixes. Homepage: <http://www.py2exe.org> Download from the usual location: <http://sourceforge.net/project/showfiles.php?group_id=15583> Enjoy, Jimmy -- http://mail.python.org/mailman/listinfo/python-list
py2exe 0.6.4 released
py2exe 0.6.4 released = py2exe is a Python distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation. Console and Windows (GUI) applications, Windows NT services, exe and dll COM servers are supported. Changes in 0.6.4: * New skip-archive option which copies the Python bytecode files directly into the dist directory and subdirectories - no archive is used. * An experimental new custom-boot-script option which allows a boot script to be specified (e.g., --custom-boot-script=cbs.py) which can do things like installing a customized stdout blackhole. See py2exe's boot_common.py for examples of what can be done. The custom boot script is executed during startup of the executable immediately after boot_common.py is executed. * Thomas Heller's performance improvements for finding needed modules. * Mark Hammond's fix for thread-state errors when a py2exe created executable tries to use a py2exe created COM DLL. Changes in 0.6.3: * First release assembled by py2exe's new maintainer, Jimmy Retzlaff. Code changes in this release are from Thomas Heller and Gordon Scott. * The dll-excludes option is now available on the command line. It was only possible to specify that in the options argument to the setup function before. The dll-excludes option can now be used to filter out dlls like msvcr71.dll or even w9xpopen.exe. * Fix from Gordon Scott: py2exe crashed copying extension modules in packages. Changes in 0.6.2: * Several important bugfixes: - bundled extensions in packages did not work correctly, this made the wxPython single-file sample fail with newer wxPython versions. - occasionally dlls/pyds were loaded twice, with very strange effects. - the source distribution was not complete. - it is now possible to build a debug version of py2exe. Changes in 0.6.1: * py2exe can now bundle binary extensions and dlls into the library-archive or the executable itself. This allows to finally build real single-file executables. The bundled dlls and pyds are loaded at runtime by some special code that emulates the Windows LoadLibrary function - they are never unpacked to the file system. This part of the code is distributed under the MPL 1.1, so this license is now pulled in by py2exe. * By default py2exe now includes the codecs module and the encodings package. * Several other fixes. Homepage: <http://www.py2exe.org> Download from the usual location: <http://sourceforge.net/project/showfiles.php?group_id=15583> Enjoy, Jimmy -- http://mail.python.org/mailman/listinfo/python-list
RE: py2exe and pyGTK (was "Error")
danger wrote: > hi everybody, i have a problem with py2exe that gives me this error: > > ImportError: could not import pango > ImportError: could not import pango > Traceback (most recent call last): > File "acqua.py", line 40, in ? > File "gtk\__init__.pyc", line 113, in ? > AttributeError: 'module' object has no attribute 'Font' > > does anybody knows how to solve it? Does http://www.anti-particle.com/py2exe.shtml help? Jimmy -- http://mail.python.org/mailman/listinfo/python-list
py2exe 0.6.3 released
py2exe 0.6.3 released = py2exe is a Python distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation. Console and Windows (GUI) applications, Windows NT services, exe and dll COM servers are supported. Changes in 0.6.3: * First release assembled by py2exe's new maintainer, Jimmy Retzlaff. Code changes in this release are from Thomas Heller and Gordon Scott. * The dll-excludes option is now available on the command line. It was only possible to specify that in the options argument to the setup function before. The dll-excludes option can now be used to filter out dlls like msvcr71.dll or even w9xpopen.exe. * Fix from Gordon Scott: py2exe crashed copying extension modules in packages. Changes in 0.6.2: * Several important bugfixes: - bundled extensions in packages did not work correctly, this made the wxPython single-file sample fail with newer wxPython versions. - occasionally dlls/pyds were loaded twice, with very strange effects. - the source distribution was not complete. - it is now possible to build a debug version of py2exe. Changes in 0.6.1: * py2exe can now bundle binary extensions and dlls into the library-archive or the executable itself. This allows to finally build real single-file executables. The bundled dlls and pyds are loaded at runtime by some special code that emulates the Windows LoadLibrary function - they are never unpacked to the file system. This part of the code is distributed under the MPL 1.1, so this license is now pulled in by py2exe. * By default py2exe now includes the codecs module and the encodings package. * Several other fixes. Homepage: <http://www.py2exe.org> Download from the usual location: <http://sourceforge.net/project/showfiles.php?group_id=15583> Enjoy, Jimmy -- http://mail.python.org/mailman/listinfo/python-list
py2exe has a new maintainer
I am taking over the maintenance and support of py2exe from Thomas Heller. As he announced a few weeks ago he is looking to focus on other things. py2exe has been very useful to me over the years and I look forward to keeping it every bit as useful in the future. I plan to make the transition as smooth as possible for users of py2exe. I don't plan to make changes to the license other than adding my name to the list of people not to sue. I will try to be as helpful as Thomas has been in supporting py2exe on the py2exe mailing list and comp.lang.python. The mailing list, the SourceForge project, and the Wiki will continue in their current locations. The web site is moving to http://www.py2exe.org and the old site will forward to the new one so any bookmarks should still work. I will be releasing version 0.6.3 very soon with a few changes Thomas and others have made over the last few weeks. After that my priorities for py2exe will be: - Support - Documentation (which should help familiarize me with the code) - Automated tests (to point out when I haven't familiarized myself enough) - Bug fixes Any help on any of these fronts will be greatly appreciated. After I feel comfortable with things, I hope to work with other projects in the Python packaging community (e.g., cx_Freeze, PyInstaller/McMillan, py2app, setuptools, etc.) to see if we can't find synergies that will make all of them better. I recognize that different packagers are better for different audiences because of licensing, platform, Python versions, and module support among other things. Working together on the common parts (identifying dependencies, customized handling of modules with unique needs, etc.) should make all of the packagers serve their niches better. I'd like to thank Thomas for the great work he's done with py2exe over the years. He's set a very high standard for me to try and maintain. Jimmy -- http://mail.python.org/mailman/listinfo/python-list
RE: Py2Exe + kinterbasdb
[EMAIL PROTECTED] wrote: > I compile an application (that working good in native python) to exe > with py2exe. > In native mode (python.exe ReportApp.py) it is working, the reports are > created good. > But when I try to create a report from the compiled exe, it is show an > error: > > Traceback (most recent call last): > File "Report01.pyc", line 164, in OnButton1Button > File "report_01.pyc", line 12, in OpenDBForReport > File "report_db.pyc", line 11, in OpenDB > File "kinterbasdb\__init__.pyc", line 472, in connect > File "kinterbasdb\__init__.pyc", line 558, in __init__ > File "kinterbasdb\__init__.pyc", line 367, in _ensureInitialized > File "kinterbasdb\__init__.pyc", line 315, in init > ImportError: No module named typeconv_backcompat Try adding kinterbasdb to the py2exe packages options as shown below: setup( console=["Report01.py"], options={"py2exe": {"packages": ["kinterbasdb"]}} ) Jimmy -- http://mail.python.org/mailman/listinfo/python-list
RE: MessageBox ONOK?
Ali wrote: > How do i connect the onOK of a win32ui MessageBox with the Ok button so > that I get to know when the user clicks the Ok button? win32ui.MessageBox returns the ID of the button that was clicked to dismiss the message box. There are constants in win32con you can use to compare to that ID. An example: >>> import win32con >>> import win32ui >>> buttonID = win32ui.MessageBox('Hello World') >>> if buttonID == win32con.IDOK: ... print 'OK pressed' ... else: ... print 'OK not pressed' ... OK pressed I clicked OK when the dialog appeared. There are also constants for IDCANCEL, IDYES, IDNO, etc. which can be useful if you are using other buttons (e.g., win32ui.MessageBox('Do it?', None, win32con.MB_YESNO)). Jimmy -- http://mail.python.org/mailman/listinfo/python-list
RE: py2exe - create one EXE
Codecraig wrote: > i tried the SingleInstaller linkwhich points to a > script using NSIS. I followed those instructions which generated an > .exe. HOwever, when i run the .exe nothing happens (meaning no > process starts, no output, no errors, nothing). > > any ideas on that? have ever used it? There are a couple of things you can try. First off, if you are using Python 2.4, then you may be missing msvcr71.dll and/or msvcp71.dll on the system you are trying to run on (the corresponding file(s) for Python 2.3 and earlier are extremely common so you aren't nearly as likely to run into this problem). Look for the line that looks like this in the NSIS script: File /r '${py2exe. And add this line just after it (assuming you installed Python in the default location): File 'C:\Python24\msvc*.*' If you intend to distribute your result, then you can Google this group for discussions about msvcr71.dll and license requirements for redistribution - you won't find a definitive answer to the questions you'll see, but you should be aware of the issues. If that doesn't solve your problem, the next step to debugging it is to try running the multi-file version produced by setup.py. If that doesn't work, some common problems/workarounds can be found on the py2exe wiki. Obviously the single file version won't work until the multi file version works. Chris Liechti has another solution, but the last time I checked it was only for Python 2.3. It's on his page at: http://homepage.hispeed.ch/py430/python/ Jimmy -- http://mail.python.org/mailman/listinfo/python-list
RE: Python 2.4 killing commercial Windows Python development ?
Terry Reedy wrote: > I guess I don't understand some people's determination to not have users > install fully useable Python on their Windows machines. Doing so seems no > different to me than having to install (or upgrade) Shockwave, or Apple's > Quicksomething for Windows (not used so much anymore), or RealPlayer, or > the lastest upgrade for DirectX, or DivX, or a zip decoder, or any other > 3rd party software, to run .xxx files or specialized .exe programs. (And > I left out the most direct analogy of a java system.) The Windows application that I develop and distribute relies on Python plus 14 other packages (wxPython, pywin32all, ctypes, Numeric, PIL, etc.). My customers typically install the application on 20-100 user machines within their organization at one time so it's mandatory that I make an automated silent installer available. That's a lot easier to do with py2exe and a Windows installer than it is to do with Python's MSI and 14 other packages. It's also more robust - the installer is much simpler and my application is always used with exactly the same Python environment that was used for QA. There are also significant hurdles to clear before software can be put on user machines in an organization like this. The reviews with the IT groups go much more smoothly since I can state that my installer will only write files to one folder of the IT group's choosing, put an icon in the Start Menu, and will only touch the registry to register an uninstaller. If there were 15 installers being run (even if automated) we'd have to review each of those individually and my product would almost never be approved. I don't actively hide the fact that I use Python, but my customers are rarely interested in my toolbox - they are too focused on their own business. Some groups will ask what language I use, and the following question will always be something like "If we need it to, can it interact with Java?" or C# or ... that's their only interest in the language I use. If they open themselves up by asking then I can't help but badger them with the virtues of Python for a while. :) > To put it another way, needing a Python interpreter to run .py files is no > different from, for instance, needing a movie player to run .mpg files, > and all Windows users are or need to become familiar with that general > concept. Many of my users don't have a concept of a "file" unless it's something they ask their assistant to get from a cabinet. They are typically corporate executives for very big companies and if they have a computer problem then a team of IT people get paged to fix it immediately. They don't "need" to become familiar with anything on a computer - their job is managing many billions of dollars worth of business every year. They can use almost every feature of my application if they can move the mouse and click the left button. That requires training for some of them, and I feel honored they'll take the time to learn that much in order to use my software. > Also, I think it a bit 'anti-social' to hide usage of Python. If all > Python Windows programs ran with a normal, communally installed Python, > then users would gradually get the idea that having Python installed is > much like having Shockwave and other utility platforms installed, and that > is is part of a 'fully loaded' Windows system to have a .py player > installed. I feel the opposite. I've skipped evaluating a number of applications because they didn't come with their own dedicated JVM. I've spent way too much of my own time trying to use applications with conflicting JVM requirements only to give up in the end. It's just a new form of DLL hell. As a user, I only want to think about how well an application does what I need it to do. The more time I spend dealing with supporting technologies, the less time I spend on the intended task. > If there is something about the default install of Python on Windows that > makes it less desireable or less easy than other platforms, then maybe > that can be fixed. Something like Flash is quite special purposed and you don't have tons of large extension modules that are in common use. You just use the base system and it is very tightly controlled by one organization to maintain backwards compatibility. And it is primarily used to augment/replace HTML pages, so you don't want to download/install the engine each time you come across another page with Flash content. Applications are different, you acquire them once and use them over and over and the runtime environment is much more variable from app to app. You don't just have to worry about the backward compatibility of Python itself, but of every extension module in common use and all the combinations that arise out of that. Again look at the pain of shared JVM use. I think Microsoft is on the right track to addressing DLL hell now by recommending that DLLs be installed in the application folder, not the system folder. That's analogous to using applicat
RE: string methods (warning, newbie)
Anthonyberet wrote: > Is there a string mething to return only the alpha characters of a string? > eg 'The Beatles - help - 03 - Ticket to ride', would be > 'TheBeatlesTickettoride' > > If not then how best to approach this? > I have some complicated plan to cut the string into individual > characters and then concatenate a new string with the ones that return > true with the .isalpha string method. > > Is there an easier way? The approach you are considering may be easier than you think: >>> filter(str.isalpha, 'The Beatles - help - 03 - Ticket to ride') 'TheBeatleshelpTickettoride' Jimmy -- http://mail.python.org/mailman/listinfo/python-list
RE: bad generator performance
Johannes Ahl-mann wrote: > i just wondered if there was a concise, clean way of doing this with > generators which i had overlooked, or whether there was some blatant > mistake in my code. Aside from the recursion question... You don't really give the complete story so it's hard to tell what exactly is going on. For example, I would assume the recursion is calling the same method (i.e., depthFirstIterator1 or depthFirstIterator2), but then you posted separate timing information for a "recursive helper function" so I'm not so sure. Also there is not much of a hint as to the nature of your data. Below is a test where each of your 2 methods calls itself recursively. To make it work I had to build a data tree - I used the files and folders in my C:\Python23 directory. In my testing (on Python 2.3.4 on Windows XP), the generator version takes about 1/4 of the time that the list version takes. If both versions call the list version of the method recursively (i.e., you're only getting the benefit of the generator at the top level of the recursion), the generator version is still about 20% faster. Timing differences could potentially depend on your data also - things like how deep vs. wide your tree is. Jimmy import os import time class Node: def __init__(self, pathname): self.thisIsAFolder = os.path.isdir(pathname) self.children = [] if self.isFolder(): for filename in os.listdir(pathname): childpathname = os.path.join(pathname, filename) self.children.append(Node(childpathname)) def isFolder(self): return self.thisIsAFolder def depthFirstIterator1(self, depth = 0): ret = [[self, True, depth]] if self.isFolder(): for c in self.children: ret = ret + c.depthFirstIterator1(depth = depth + 1) return ret + [[self, False, depth]] def depthFirstIterator2(self, depth = 0): yield [self, True, depth] if self.isFolder(): for c in self.children: for y in c.depthFirstIterator2(depth = depth + 1): yield y yield [self, False, depth] x = Node(r'C:\Python23') for iterator in (x.depthFirstIterator1, x.depthFirstIterator2): print iterator.__name__, start = time.time() for item in iterator(): pass print round(time.time()-start, 2) -- http://mail.python.org/mailman/listinfo/python-list
RE: Open Folder in Desktop
Kamilche wrote: > Is there a command you can execute in Python that will open a window on > the desktop, such as 'My Documents'? Kind of like 'system', but for > folder names, not just programs. I'm running on Windows 2000. There are two issues here. The first is how to open a folder and the second is how to resolve "special" folders. Folders are "documents" typically associated with the explorer.exe application. To open a document with its default app (e.g., a folder), use os.startfile which is included in Python. For example: import os os.startfile(r'c:\windows') Folders like My Documents, My Pictures, etc. are special and you need to determine their actual path before you can open them. The pywin32 extensions (https://sourceforge.net/project/showfiles.php?group_id=78018) include a way to get at this: from win32com.shell import shellcon, shell path = shell.SHGetFolderPath(0, shellcon.CSIDL_MYPICTURES, 0, 0) os.startfile(path) Google for CSIDL to find the constants to use for other special folders. Jimmy -- http://mail.python.org/mailman/listinfo/python-list
RE: feature suggestion
flexibal wrote: ... > as we all know, just doing > v = 5 > declares a new variable named 'v'... but we are people, and we do make > typos... and it's very disturbing to find your program crashing after > two weeks of operation, over a NameError... because a certain branch in > your code, that was previously never taken, had finally been taken. ... PyChecker (http://pychecker.sourceforge.net/) will help you spot this kind of thing. For example consider typo.py: def f(): x = 1 y = 1 if 0 == 1: print a else: print x+y When you run PyChecker on typo.py it will issue the following warning: typo.py:5: No global (a) found Jimmy -- http://mail.python.org/mailman/listinfo/python-list
RE: Audio interviews of Guido or other Python advocates?
Dave Benjamin wrote: > I looked around for recordings of Guido, but couldn't find any. Does > anyone know of any streamable audio (or video) interviews or speeches > featuring Guido, the bots, or any other interesting people in the Python > community? There's a video with a few folks in it at: http://www.ibiblio.org/obp/pyBiblio/pythonvideo.php Jimmy -- http://mail.python.org/mailman/listinfo/python-list