is an interpreted, interactive, object-oriented programming language.
a 32-bit, multi-threaded, networking- and OpenGL-enabled Python interpreter for
DOS and Windows.
Release 1.0 provides many powerful
features for DOS, Windows and DJGPP users that make it an attractive platform
for migration of old MS-DOS batch files, Perl, Tcl and Shell scripts. It
provides a complete library of file- and system-management routines. With
Numeric, OpenGL and other available 'add-ons', you can enhance PythonD to meet
even greater needs.
"Distutils" and Dynamic Module Linking:
Python 'distutils', used for the quick building of Python- and C-based
extensions from source, now functions to a limited degree under PythonD. PythonD
modules may link dynamically using the new DJGPP 'DXE' extension. A full,
installation is required for using PythonD distutils.
is needed for building dynamic modules (You may need to adjust appropriate lines
in lib/python2.2/config/Makefile). Note that the old DXE2 library is no longer
supported for the building of PythonD modules.
Networking is built on
technology. See the "Networking" page for details.
PythonD offers the very first multi-threaded
POSIX scripting interpreter for DOS ever available. Threading for PythonD is
provided through a very standard implementation, using PTH threads ported by
has been ported to PythonD using the
toolkit. This module provides PythonD with 3D rendering and real-time
rotation - even on NT-based systems, using Daniel Borca's VGA driver.
This module is still in testing. However, Packages requiring TOGL/tkinter must
be changed before they can used with PythonD.
PyOpenGL has been compiled with PyNum support, and many of the PyOPenGL demos
require PyNum be installed.
standard 'mpzmodule' to the GNU Multiple Precision is also part of the basic
21.3 is also available.
module provides optional on-screen plotting and graphics.
Berkeley DB interface (bsddb), the dbm module, and Anthony Baxter's gdbm module.
package now links dynamically and passes 100% of test suite! Starting with
PythonD 2.2.1 R2, Gnome's
LibXML and LibXSLT
libraries are also available.
Curses and Terminal Graphics:
standard 'curses' module has been made possible with Thomas Dickey's NCurses
library. This is a complete port of the Python curses module. Additionaly, the
GUI library has been provided using the CWISH curses application library. STILL
ThePython executable at the
heart of PythonD has been compiled with the DJGPP 2.0.4,
using GCC 3.3.2 on Windows XP. The port is long-filename compliant and uses the
same library structure as Linux and Windows ports so that third-party packages
can be installed easier… without import declaration modifications. Although stdout may run in background when graphics modes are engaged, PythonD
runs in a single 'window', using a
If you plan to run PythonD under pure native DOS or under NT 4, you should have
All Python module
import names are also case-sensitive by default, which also requires the
active LFN driver. If you do are not using a long filename driver, then you
should also add the following to your DOS environment:
will start up but return the error that it couldn't find 'site', which probably
means that it is having trouble loading the Python library).
One DOS long filename TSR for NT4 can be found
Long filename TSRs for DOS:
Many python functions are also case-sensitive. DJGPP is, however, fundamentally
a DOS compiler. Because directory names are always returned upper-case under
pure DOS, these are converted to lower-case under nomal DJGPP operation (see.http://www.delorie.com/djgpp/doc/libc/libc_121.html)
. This only occurs when a filename was originally entirely uppercase. Under LFN,
however, this behavior is probably not what you want, as filecase is many times
returned correctly and the all-uppercase name legitamate. To help NT, W2K and XP
PythonD users avoid this behaviour, site.py sets DJGPP's runtime 'FNCASE'
variable to 'y' enforcing case sensitivity. Remember that NT4 still requires a
Long FileName driver.
PythonD can be
by unzipping the distribution files at the top of your DJGPP tree. %PYTHONPATH%
or %PYTHONHOME% will not need to be set, as it has a built-in default value of
“/dev/env/DJDIR” (which will point to the root directory of your DJGPP
installation - make sure you have your %DJGPP% environment variable set
If you are
not working with DJGPP,
you will however need to set one of these variables to point to the
Python library. Using %PYTHONHOME% is now recommended for DJGPP. It is simpler
to define, and enables a couple small features from the site module. Choose a
directory (i.e. “C:\PythonD”) that will serve as the top directory of the python
filetree and extract all needed distribution files there. Be sure to extract
them with an unzipper that preserves the internal directory structure of
the .zip file. Afterward, you would then need to set the environment variable
%PYTHONHOME% to this top directory location. Note that for PythonD, it is best
to use the UNIX slash convention for defining direcroy locations. For
example, if the PythonD distribution files were extracted under “C:\PythonD”,
then you need to set the following in your DOS environment: