Update of /cvsroot/py2exe/py2exe
In directory sc8-pr-cvs1:/tmp/cvs-serv6587
Modified Files:
README.txt
Log Message:
Index: README.txt
===================================================================
RCS file: /cvsroot/py2exe/py2exe/README.txt,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** README.txt 16 Jan 2004 10:45:20 -0000 1.4
--- README.txt 16 Jan 2004 18:40:49 -0000 1.5
***************
*** 8,15 ****
Creates a single directory, which must be deployed completely.
! (Most of this is based on ideas of Mark Hammond:) Can create any
! number of console and gui executables in this directory, plus
! optionally windows service exes, plus optionally exe and dll com
! servers. The com servers can expose one or more com object classes.
All pure Python files are contained in a single zip archive, which is
--- 8,16 ----
Creates a single directory, which must be deployed completely.
! (Most of this is based on ideas of Mark Hammond, he also implemented
! most if the code:) Can create any number of console and gui
! executables in this directory, plus optionally windows service exes,
! plus optionally exe and dll com servers. The com servers can expose
! one or more com object classes.
All pure Python files are contained in a single zip archive, which is
***************
*** 20,31 ****
the directory is in sys.path).
! It would be nice if the executables could be run with only a single
! sys.path entry containing the absolute filename of the zipfile, but it
! seems for dll com servers the executable's directory is also
! needed. The absolute filenames are constructed at runtime from the
! directory containing the executable, and the zipfile name specified at
! build time.
!
! For valid py2exe command line options, run 'python setup.py py2exe --help'.
The way has changed how build targets are specified in the setup
--- 21,28 ----
the directory is in sys.path).
! The executables run with only a single sys.path entry containing the
! absolute filename of the zipfile archive. Absolute filenames are
! constructed at runtime from the directory containing the executable,
! and the zipfile name specified at build time.
The way has changed how build targets are specified in the setup
***************
*** 41,63 ****
All of the above arguments are optional. The zipfile name defaults to
'library.zip'.
-
-
- Not yet done (although described above):
- ========================================
-
- service exe
-
- The --debug or -g command line flag has changed. It no longer builds
- debugging binaries. Now it creates console programs (so you can see
- tracebacks) even for exe com servers, windows services, and scripts
- listed in the 'windows' keyword argument to the setup function.
-
- To build debugging binaries, simply run the build procress with a
- debug python.
-
- invisible imports: pythoncom imports win32com.server.policy, for example.
-
- symbols to ignore: wxPython defines a lot of symbols like utilsc, streamsc
- which are shown as missing modules.
-
- and more...
\ No newline at end of file
--- 38,39 ----

Update of /cvsroot/py2exe/py2exe/docs
In directory sc8-pr-cvs1:/tmp/cvs-serv5949
Modified Files:
py2exe.txt
Added Files:
footer.txt
Log Message:
--- NEW FILE: footer.txt ---
<hr>
<!--WEBBOT bot="HTMLMarkup" startspan ALT="Site Meter" -->
<script type="text/javascript" language="JavaScript">
var site="sm5py2exe"</script>
<script type="text/javascript" language="JavaScript1.2"
src="http://sm5.sitemeter.com/js/counter.js?site=sm5py2exe"&gt;
</script>
<noscript>
<a href="http://sm5.sitemeter.com/stats.asp?site=sm5py2exe";
target="_top"><img src="http://sm5.sitemeter.com/meter.asp?site=sm5py2exe";
alt="Site Meter" border="0"></a></noscript>
<!-- Copyright (c)2000 Site Meter -->
<!--WEBBOT bot="HTMLMarkup" Endspan -->
<a href="http://sourceforge.net"&gt; <img
src="http://sourceforge.net/sflogo.php?group_id=15583&amp;type=1"; width="88"
height="31" border="0" alt="SourceForge Logo"></a></body>
</html>
Index: py2exe.txt
===================================================================
RCS file: /cvsroot/py2exe/py2exe/docs/py2exe.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** py2exe.txt 16 Jan 2004 10:45:26 -0000 1.1
--- py2exe.txt 16 Jan 2004 18:38:20 -0000 1.2
***************
*** 35,42 ****
Python 2.3 is required, because the new zipimport feature is used.
! It builds a single directory from your script(s), containing one
! or more related executables files, a single zipfile containing the
! Python modules needed, the Python dll, and the Python extension modules.
Using py2exe
--- 35,60 ----
Python 2.3 is required, because the new zipimport feature is used.
+ The zipimport mechanism is able to handle the early imports of the
+ warnings and also the encodings module which is done by Python.
! Creates a single directory, which must be deployed completely.
!
! Can create any number of console and gui executables in this
! directory, plus optionally windows service exes, plus optionally exe
! and dll com servers. The com servers can expose one or more com
! object classes.
!
! All pure Python files are contained in a single zip archive, which is
! shared by all the executables. The zip archive may also be used by
! programs embedding Python. Since extension modules cannot be imported
! from zipfiles, simple pure Python loaders are included in the zipfile
! which load the extensions from the file system (without requiring that
! the directory is in sys.path).
!
! It is now simple to build py2exe from the sources, provided you have
! MSVC6 installed - there are no dependencies on win32all sources.
!
! The created executables are standard PE executable files now, no
! longer is something appended to the exe portion.
Using py2exe
***************
*** 150,153 ****
--- 168,172 ----
-----------------
+ Still to be written.
So far, you have to look into the supplied samples.
***************
*** 184,189 ****
-----------------
! Download and run the installer
! py2exe-0.5.0.win32-py2.3.exe_.
This installs **py2exe** together with some samples, the samples are in
--- 203,207 ----
-----------------
! Download and run the installer py2exe-0.5.0.win32-py2.3.exe_.
This installs **py2exe** together with some samples, the samples are in
***************
*** 200,202 ****
--- 218,224 ----
the machine where you want to run the created programs.
+ If you use ``py2exe`` to build COM clients or servers, win32all build
+ 163 (or later) is strongly recommened - it contains much better support
+ for frozen executables.
+
.. _here: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm

Update of /cvsroot/py2exe/py2exe
In directory sc8-pr-cvs1:/tmp/cvs-serv5909
Added Files:
ANNOUNCE
Log Message:
--- NEW FILE: ANNOUNCE ---
**py2exe 0.5.0** (finally) released
===================================
py2exe is a Python distutils extension which converts python scripts
into executable windows programs, able to run without requiring a
python installation.
News
Python 2.3 is required, because the new zipimport feature is used.
The zipimport mechanism is able to handle the early imports of the
warnings and also the encodings module which is done by Python.
Creates a single directory, which must be deployed completely.
py2exe can create any number of console and gui executables in
this directory, plus optionally windows service exes, plus
optionally exe and dll com servers. The com servers can expose
one or more com object classes.
All pure Python files are contained in a single zip archive, which
is shared by all the executables. The zip archive may also be
used by programs embedding Python. Since extension modules cannot
be imported from zipfiles, simple pure Python loaders are included
in the zipfile which load the extensions from the file system
(without requiring that the directory is in sys.path).
It is now simple to build py2exe from the sources, provided you
have MSVC6 installed - there are no dependencies on win32all
sources.
The created executables are standard PE executable files now, no
longer is something appended to the exe portion.
Download from the usual location:
<http://starship.python.net/crew/theller/py2exe&gt;
Many thanks to Mark Hammond who worked hard to improve the COM
support, and suggested and implemented a lot of the new features.
Enjoy,
Thomas

Update of /cvsroot/py2exe/py2exe/docs
In directory sc8-pr-cvs1:/tmp/cvs-serv30605
Modified Files:
LICENSE.txt
Added Files:
py2exe.txt py2exe.jpg html.py default.css .cvsignore
Log Message:
Move py2exe from the sandbox directory up to the root dir.
--- NEW FILE: py2exe.txt ---
.. image:: py2exe.jpg
:align: center
.. _license: LICENSE.TXT
.. _distutils: http://www.python.org/doc/current/dist/
.. _setup-script: http://www.python.org/doc/current/dist/setup-script.html
.. _py2exe-0.5.0.win32-py2.3.exe: http://prdownloads.sourceforge.net/py2exe/py2exe-0.5.0.win32-py2.3.exe?download
.. _wiki: http://starship.python.net/crew/theller/moin.cgi/Py2Exe
Convert python scripts into standalone windows programs
=======================================================
Copyright (c) 2001, 2002, 2003, 2004 Thomas Heller, Mark Hammond.
Abstract
--------
**py2exe** is a Python distutils_ extension which converts python
scripts into executable windows programs, able to run without
requiring a python installation.
It has been used to create wxPython, Tkinter, Pmw, PyGTK, pygame,
win32com client and server modules and other standalone programs.
**py2exe** is distributed under an open-source license_.
News
----
**py2exe 0.5.0** released.
Python 2.3 is required, because the new zipimport feature is used.
It builds a single directory from your script(s), containing one
or more related executables files, a single zipfile containing the
Python modules needed, the Python dll, and the Python extension modules.
Using py2exe
------------
Assuming you have written a python script ``myscript.py`` which you
want to convert into an executable windows program, able to run on
systems without a python installation. If you don't already have
written a *distutils* setup-script_, write one, and insert the
statement 'import py2exe' before the call to the setup function::
# setup.py
from distutils.core import setup
import py2exe
setup(console=["myscript.py"])
Running ::
python setup.py py2exe --help
will display all available command-line flags to the **py2exe**
command.
Now you can call the setup script like in this way::
python setup.py py2exe
and a subdirectory ``dist`` will be created, containing the files
``myscript.exe``, ``python23.dll``, and ``library.zip``. If your script
uses compiled C extension modules, they will be copied here as well,
also all dlls needed at runtime.
These files include everything that is needed for your program, and
you should distribute the whole directory contents.
The above setup script creates a console program, if you want a GUI
program without the console window, simply replace
``console=["myscript.py"]`` with ``windows=["myscript.py"]``.
**py2exe** can create more than one exe file in one run, this is
useful if you have a couple of related scripts. Pass a list of all
scripts in the ``console`` and/or ``windows`` keyword argument.
Specifying additional files
---------------------------
Some applications need additional files at runtime, like configuration
files, fonts, or bitmaps.
**py2exe** can copy these files into subdirectories of ``dist`` if they
are specified in the setup script with the ``data_files``
option. ``data_files`` should contain a sequence of ``(target-dir,
files)`` tuples, where files is a sequence of files to be copied.
Here's an example::
# setup.py
from distutils.core import setup
import glob
import py2exe
setup(console=["myscript.py"],
data_files=[("bitmaps",
["bm/large.gif", "bm/small.gif"]),
("fonts",
glob.glob("fonts\\*.fnt"))],
)
This would create a subdirectory ``dist\bitmaps``, containing the two
``.gif`` files, and a subdirectory ``dist\fonts``, containing all the
``.fnt`` files.
Windows NT services
-------------------
You can build Windows NT services by passing a ``service`` keyword
argument to the ``setup`` function, the value must be a list of Python
module names containing a service class (identified by the ``_svc_name_``
attribute)::
# setup.py
from distutils.core import setup
import py2exe
setup(service=["MyService"])
The build service executable are able to install and remove themselves
by calling them with certain command line flags, run the exe with the
``-help`` argument to find out more.
COM servers
-----------
COM servers are built by passing a ``com_server`` keyword argument to
the setup function, again the value must be a list of Python module
names containing one or more COM server classes (identified by their
``_reg_progid_`` attribute)::
# setup.py
from distutils.core import setup
import py2exe
setup(com_server=["win32com.server.interp"])
By default both DLL and EXE servers are built, you should simply
delete those you don't need.
Advanced features
-----------------
So far, you have to look into the supplied samples.
There is also a wiki_ now where you can look for information, or
publish your tips.
How does it work?
-----------------
**py2exe** uses python's ``modulefinder`` to examine your script and
find all python and extension modules needed to run it. Pure python
modules are compiled into ``.pyc`` or ``.pyo`` files in a temporary
directory. Compiled extension modules (``.pyd``) are also found and
parsed for binary dependencies.
A zip-compatible archive is built, containing all python files from
this directory. Your main script is inserted as a resource into a
custom embedded python interpreter supplied with py2exe, and the
zip-archive is installed as the only item on ``sys.path``.
In simple cases, only ``pythonxx.dll`` is needed in addition to
``myscript.exe``. If, however, your script needs extension modules,
unfortunately those cannot be included or imported from the
zip-archive, so they are needed as separate files (and are copied into
the ``dist`` directory).
*Attention*: **py2exe** tries to track down all binary dependencies
for all pyd's and dll's copied to the dist directory recursively, and
copies all these dependend files into the dist directory. **py2exe**
has a builtin list of some system dlls which are not copied, but this
list can never be complete.
Installing py2exe
-----------------
Download and run the installer
py2exe-0.5.0.win32-py2.3.exe_.
This installs **py2exe** together with some samples, the samples are in
the ``lib\site-packages\py2exe\samples`` subdirectory.
For **Windows 95/98/Me**, you need the *Microsoft Layer for Unicode on
Windows 95/98/ME Systems (MSLU)* dll from here_ (Internet Explorer is
required to download it: Scroll down to the Win95/98/Me section).
Download and run the self-extracting ``unicows.exe`` file, and copy
the unpacked ``unicows.dll`` file in the directory which contains your
``python.exe``. Note that this is only needed on the machine where
you want to build executables with **py2exe**, it is not required on
the machine where you want to run the created programs.
.. _here: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm
--- NEW FILE: html.py ---
#!/usr/bin/env python
# Author: David Goodger
# Contact: goodger@...
# Revision: $Revision: 1.1 $
# Date: $Date: 2004/01/16 10:45:26 $
# Copyright: This module has been placed in the public domain.
"""
A minimal front end to the Docutils Publisher, producing HTML.
"""
import locale
try:
locale.setlocale(locale.LC_ALL, '')
except:
pass
from docutils.core import publish_cmdline, default_description
description = ('Generates (X)HTML documents from standalone reStructuredText '
'sources. ' + default_description)
publish_cmdline(writer_name='html', description=description)
--- NEW FILE: default.css ---
body, th, td {
font-family: verdana, Arial, sans-serif;
font-size: 70%;
}
P, DL, table {
margin-left: 2em;
margin-right: 2em;
}
H1, H2, H3, H4, H5, H6 {
font-family: verdana, Arial, sans-serif;
color: #000080;
}
H1 {
/* font-size: 145%; */
font-size: 160%;
}
H2 {
/* font-size: 130%; */
font-size: 140%;
}
H3 {
font-size: 115%;
}
H4 {
font-size: 100%;
}
table {
background: #808080;
}
th {
background: #C0C0E0;
font-weight: bold;
}
td {
background: #F0F0F0;
}
pre {
border-style: solid;
border-width: 1px;
background: #C0C0E0;
font-family: Courier New, Courier, mono;
font-size: 120%;
padding-top: 1em;
padding-left: 1em;
padding-bottom: 1em;
margin-left: 4em;
margin-right: 4em;
}
tt, code {
font-family: Courier New, Courier, mono;
font-size: 120%;
font-weight: bold;
}
strong {
/* color: #FF0000; */
}
--- NEW FILE: .cvsignore ---
py2exe.html
Index: LICENSE.txt
===================================================================
RCS file: /cvsroot/py2exe/py2exe/docs/LICENSE.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** LICENSE.txt 1 Feb 2002 12:59:17 -0000 1.1
--- LICENSE.txt 16 Jan 2004 10:45:26 -0000 1.2
***************
*** 1,3 ****
! Copyright (c) 2000, 2001, 2002 Thomas Heller
Permission is hereby granted, free of charge, to any person obtaining
--- 1,3 ----
! Copyright (c) 2000, 2001, 2002, 2003, 2004 Thomas Heller, Mark Hammond
Permission is hereby granted, free of charge, to any person obtaining