CADDIT CAD CAM CNC Software - download AutoCAD compatible design software progeCAD Alibre T-FLEX and more
CADDIT Website Knowledge Base Search:
 Getting Help


Digg This!   

Save to


PythonD 32-bit python for DOS and Windows

Python is an interpreted, interactive, object-oriented programming language.  

PythonD is a 32-bit, multi-threaded, networking- and OpenGL-enabled Python interpreter for DOS and Windows.

PythonD 2.4.2 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, working DJGPP installation is required for using PythonD distutils.  DXE3GEN 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 WATT-32 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 Richard Dawe.

OpenGL:  opengl_spiral_demo

PyOpenGL has been ported to PythonD using the MESA 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.dislin_plot_demo


Mathematical Calculation:

The standard 'mpzmodule' to the GNU Multiple Precision is also part of the basic download. Numerical Python 21.3 is also available.

Mathematical Visualization:

The optional DISLIN module provides optional on-screen plotting and graphics.

Database Routines:

Berkeley DB interface (bsddb), the dbm module, and Anthony Baxter's gdbm module.

XML Processing:

Optional PyXML 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

Curses and Terminal Graphics:

The 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 tkinter GUI library has been provided using the CWISH curses application library. STILL IN PLANNING


     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 always runs in a single 'window', using a single process.

     If you plan to run PythonD under pure native DOS or under NT 4, you should have a long-filename driver installed. 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:


(otherwise Python 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 here.

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. . 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, sets DJGPP's runtime 'FNCASE' variable to 'y' enforcing case sensitivity. Remember that NT4 still requires a Long FileName driver.

      PythonD can be installed 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 correctly).

      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:

            SET PYTHONHOME=c:/PythonD


[Homepage] [Engineering] [PythonD] [Webstore] [Forum] [Resume] .