(PYVMS LOGO) Python on OpenVMS

(go to: table of contents, index, prev: files from the PYVMS distribution, next: installing and building)

This section describes how the environment for the installation and building process is to be prepared.


disk space calculations

The following information should help you to calculate the amount of disk space required during and after installation:
PYTHON1_5_2.ZIP - 5086 blocks
Can be stored anywhere, however this file should be saved for future use.

PYTHON1_5_2.BCK - 20601 blocks
Resulting from decompression of PYTHON1_5_2.ZIP. Can be stored anywhere. This space is only required until the Python directory tree is restored.

[PYTHON.PYTHON-1_5_2...] - min: 19221 blocks
The original Python distribution as restored from PYTHON1_5_2.BCK. On disks with a larger cluster factor more blocks are required.

PYVMS1_5_2-V005SRC.ZIP - about 2250 blocks
Can be stored anywhere, however this file should be saved for future use.
[PYTHON.PYTHON-1_5_2.VMS...] - about 8330 blocks
The OpenVMS specific parts as restored from PYVMS1_5_2-V005SRC.ZIP.

translated documentation - about 8580 blocks
Is stored in the Python tree by running CVT_DOC.COM in each subdirectory of [.VMS.DOC]. Required only if the HTML documentation in the source tree is translated to text or printer formats. The number of blocks includes '.RNO' and other RUNOFF temporary files.

Alpha object code - about 26000 blocks
This amount is from compiling /noDEBUG /OPTIMIZE and includes object modules, the object libraries and the executable.

VAX object code - about 31890 blocks
This amount is from compiling /noDEBUG /OPTIMIZE and includes object modules, the object libraries and the executable.

compiled Python code - 2695 blocks
After building the interpreter the source code from the Python library should be pre-compiled.

Python documentation
is not listed here
Total space used on OpenVMS VAX is about 76500 blocks on a disk with a cluster size of 4 blocks.

These numbers are from the 1.5.2-V005 version. Updates contain bugfixes for existing files and new functionality in new files so the final disk space that is required is higher.

select directory for the installation

The top-level of the directory tree is assumed to be named [PYTHON]. The current Python environment requires 6 directory levels. All instructions so far assume that the [PYTHON] directory is directly stored in the master file directory ([000000]) of a disk (e.g. DKA100:). No tests have been done to use a concealed logical name for the 'disk'.

logical names

Beginning with version 1.5.2-V001 logical names are used to point to certain directories within the build process. The person who installs the software should be able to type in the commands from the instructions directly or use cut and paste without changes.

The following logical names are currently used:

PYVMS_DISK
Device on which the software is to be installed. Using a concealed device might be possible, but has not been tested.

PYVMS_INS_TMP
A temporary directory for scratch space during the installation.

PYVMS_INS_TOOLS
A directory that contains executables of the tools (UNZIP) that are used during the installation.

PYTHON_INCLUDE
Python include directories - these can be used by other modules that are used to enhance Python, but do not live in it's directory tree.

PYTHON_OLB
Architecture-specific (Alpha, VAX) directory tree that contains object libraries and object files of the Python core interpreter, OpenVMS support and extensions.

PYTHON_VMS
Almost all of the files from the port to OpenVMS are in this directory tree.
Example:
$ define  PYVMS_DISK       DKA100:
$ define  PYVMS_INS_TMP    DKB100:[PYVMSINSTMP]
$ define  PYVMS_INS_TOOLS  PYVMS_DISK:[PYTHON.TOOLS]
$!
$ define PYTHON_INCLUDE   PYVMS_DISK:[PYTHON.PYTHON-1_5_2], -
                          PYVMS_DISK:[PYTHON.PYTHON-1_5_2.INCLUDE]
$ _ARCH = "ALPHA"
$ if (F$GETSYI("HW_MODEL").LT.1024) then $ _ARCH = "VAX"
$ define PYTHON_OLB       PYVMS_DISK:[PYTHON.PYTHON-1_5_2.O_'_ARCH']
$ define PYTHON_VMS       PYVMS_DISK:[PYTHON.PYTHON-1_5_2.VMS]

create directories

$ create /DIRECTORY /PROTECTION=(G:RE;W:RE) PYVMS_INS_TMP:
$ create /DIRECTORY /PROTECTION=(G:RE;W:RE) PYVMS_INS_TOOLS:

foreign commands

Place the executable of the UNZIP tool into PYVMS_INS_TOOLS:. The processor architecture should be part of the filename, e.g. UNZIP_ALPHA.EXE

Define a foreign command for UNZIP. The following example can be put into a command procedure to work on Alpha and VAX systems.

$ _ARCH = "ALPHA"
$ if (F$GETSYI("HW_MODEL").LT.1024) then $ _ARCH = "VAX"
$ UNZIP == "$PYVMS_INS_TOOLS:UNZIP_''_ARCH'.EXE"
$ delete /SYMBOL /LOCAL _ARCH

store software kits

Store the files that you have downloaded into PYVMS_INS_TMP: or download them now into that directory.

OpenVMS patches

See the 'patches' page in the 'General Manual' if you might have to apply one to your OpenVMS system.



Now you can start the installation / building.


(go to: table of contents, index, prev: files from the PYVMS distribution, next: installing and building)

24-AUG-1999 ZE.