[PythonCE] Build minimized Python2x.dll for WinCE/PPC?

Jesse Davis jdavis at wgen.net
Tue Feb 15 18:42:09 CET 2005

Thanks for the help.  Is it possible to significantly shrink
Python23.dll?  Under my current build, it's 1252k, which is a big chunk
of a PPC's memory.  I don't need the console, or even
bytecode-compilation, if all I run are pre-compiled pyc's, right?  So
I'm hoping there's a smaller "minimal" build for me.

I've tried removing some of the .obj files from
PCbuild\WinCE\binaries\ARMRel420\pythoncore, then running lib & link,
but all the object files I've tried so far are referred to by obviously
necessary files, like import.obj.  Is this as small as it gets?

-----Original Message-----
From: Stewart Midwinter [mailto:stewart.midwinter at gmail.com] 
Sent: Wednesday, February 09, 2005 10:35 PM
To: Jesse Davis
Cc: pythonce at python.org
Subject: Re: [PythonCE] Build minimized Python2x.dll for WinCE/PPC?

Welcome Jesse:

well there certainly is a version of Python2.x for Pocket PC.  The
latest built version is 2.3.4; I'm using it myself on a Toshiba e830. 
You can find it here:

I'm building an app that uses socket communications with a client
talking via WiFi to a server on a network.  the main issue is not the
socket per se, but rather the interaction of threads with my Tkinter

Look in the archives on this list and you'll find lots of goodies. 

Couple gotchas: 
1. you can install the whole thing to an external card, but make sure
you edit the Python Install.lnk file to reflect the location before
running it or else double-clicking in Explorer won't work.
2. your source code apps can go anywhere, but you'll need to add a line
to add your python location to the sys.path, and another so Tkinter can
be found. Best way is to create a module in your docs folder called,
say, pythonrc.py, and in it put something like:

import sys
sys.path.append('\\SD Card\\Program Files\\Python\\Lib')
sys.path.append('\\SD Card\\Program
sys.path.append('\\SD Card\\')
docHome = ('\\My Documents\\Python')

Also, so that I can run my apps on either PocketPC or Windows desktop at
my leisure, I add the following to them:

if __name__ == '__main__':
   OS = os.name.lower()
   if OS == 'ce':
       import osce
       import pythonrc     #contains the sys.path.append() commands
       import Pmw
       docHome = pythonrc.docHome
       # we are on the desktop
       global thisDir
       thisDir = sys.path[0]
       docHome = thisDir 
       import Pmw

Note that there's an osce.py that you can find on this list.  Also, Ed
Blake has put together a mini version of idle called idleCE, which
youcan find at: http://kitsu.petesdomain.com/files/IdleCE.py

there's also a VGA version of the PythonCE.exe, though you may need a
utility like ForceHiRes to get it to actually run in hi-res mode. 
I've found that the Tkinter apps look *much* nicer when run that way.


Stewart Midwinter
stewart at midwinter.ca
stewart.midwinter at gmail.com

More information about the PythonCE mailing list