Python 2.5 for Windows CE https://sourceforge.net/projects/pythonce/
This repository has been archived on 2026-05-14. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Python 52.1%
  • C 44.7%
  • Assembly 0.7%
  • Makefile 0.6%
  • HTML 0.5%
  • Other 1.1%
Find a file
goldfishdev 93ec981fe2 init
2026-04-27 21:35:21 -05:00
Demo init 2026-04-27 21:35:21 -05:00
Doc init 2026-04-27 21:35:21 -05:00
Grammar init 2026-04-27 21:35:21 -05:00
Include init 2026-04-27 21:35:21 -05:00
Lib init 2026-04-27 21:35:21 -05:00
Mac init 2026-04-27 21:35:21 -05:00
Misc init 2026-04-27 21:35:21 -05:00
Modules init 2026-04-27 21:35:21 -05:00
Objects init 2026-04-27 21:35:21 -05:00
Parser init 2026-04-27 21:35:21 -05:00
PC init 2026-04-27 21:35:21 -05:00
PCbuild init 2026-04-27 21:35:21 -05:00
PCbuild8 init 2026-04-27 21:35:21 -05:00
Python init 2026-04-27 21:35:21 -05:00
RISCOS init 2026-04-27 21:35:21 -05:00
Tools init 2026-04-27 21:35:21 -05:00
configure init 2026-04-27 21:35:21 -05:00
configure.in init 2026-04-27 21:35:21 -05:00
install-sh init 2026-04-27 21:35:21 -05:00
LICENSE init 2026-04-27 21:35:21 -05:00
Makefile.pre.in init 2026-04-27 21:35:21 -05:00
pyconfig.h.in init 2026-04-27 21:35:21 -05:00
README-python init 2026-04-27 21:35:21 -05:00
README.txt init 2026-04-27 21:35:21 -05:00
setup.py init 2026-04-27 21:35:21 -05:00

These are the sources required to build Python 2.5 for Windows CE.  Change to
the PCbuild\WinCE subdirectory and run "scons" to build Python.

The default build is "release-all".  To get a debug build run
"scons debug-all".

Each build (and architecture) generates object files in a separate
subdirectory under PCBuild\WinCE, named "debug" and "release".  All the
compiled Python files (which are common to all builds) end up in
PCBuild\WinCE\lib.

To debug PythonCE using the eMbedded Visual C++ IDE, use File -> Open to open
the executable file (e.g. debug\python_d.exe). Then in Project -> Settings set
the "Download directory" to the directory containing the .exe on your device,
e.g. "\Program Files\Python25".

-------------------------------------------------------------------------------------

Prerequisites for building PythonCE
- Python 2.5 for Windows, installed on your PC
- Microsoft eMbedded Visual C++ 4.0 with Service Pack 4
- Pocket PC 2003 SDK

Step-by-step guide to building:

- Assume the source is in c:\source\python-wince, referred to as $src
- Start a command prompt
- cd to $src\PCbuild\WinCE
- Run: scons
        - Note that scons.bat simply runs "c:\python25\python scons.py" so if
          your Python 2.5 installation is elsewhere then invoke it accordingly.
- The release-all build is the default, but if want a debug build: scons debug-all
- To build the cab file, type: scons cab
- To build the setup .exe file, type: scons setup

Tips
- Type "scons -h" for command line parameters to SCons
- See http://www.scons.org/ for more information about SCons
- The debug build .exe and .pyd files have a _d suffix before the filename
  extension. Do not rename them or things will not work.
- The file python25.zip contains all of the standard library except for the
  test suite

-------------------------------------------------------------------------------------

Installing the compiled binaries:

To install, create a base directory (e.g. \Program Files\Python) and
put the following files there:

<base>
    python25.dll
    python.exe
    python25.zip
    DLLs (subdirectory)
        _ctypes.pyd
        _ctypes_test.pyd
        _elementtree.pyd
        _socket.pyd
        _testcapi.pyd
        pyexpat.pyd
        select.pyd
        unicodedata.pyd
        winsound.pyd
    Lib (subdirectory)
        os.py

Note that Lib\os.py must exist because it is used as a "landmark" to verify
the location of Python.

-------------------------------------------------------------------------------------

The following features of Python 2.5 on Windows XP/etc. are currently
unavailable on Windows CE (at least in this release):

    _bsddb.pyd          - Not yet ported
    _hashlib.pyd        - Not yet ported
    _msi.pyd            - Not applicable
    _sqlite3.pyd        - Not yet ported (nor sqlite3.dll)
    _ssl.pyd            - Not yet ported
    _tkinter.pyd        - Not yet ported (nor tcl/tk)
    bz2.pyd             - Not yet ported

    _subprocess         - Not yet ported / not applicable?
    distutils           - Not yet ported / not applicable?
    idlelib             - Not yet ported
    mmap                - Not yet ported / not applicable?
    msvcrt              - Not applicable
    signal              - Not applicable

 vi:ts=8:et:sw=4:tw=78