Voidspace

Movable Python: The Portable Python Distribution

Movable Python Distributions

What's In the Box?

Python on a Stick

Introduction

The Distribution

This page describes the Movable Python distributions. Which one should you buy, and what comes in the box ?

Which Distribution ?

The decision as to which distribution you want depends entirely on which version of Python you want to use.

All the distributions are available for download from the Movable Python Shop.

The diffferent distributions currently available are :

  • The Mega-Pack

    This distribution comes with all the different versions of Python, plus a few freebies. It comes ready configured, so that you can run programs with any version of Python from a single interface.

    This distribution is so special, it has its own page. Smile

  • Python 2.5

  • Python 2.4.4

  • Python 2.3.5

  • Python 2.2.3

If new versions of Python are released then Movable Python will be updated appropriately. If you purchase Python 2.4.4, then you will be entitled to all upgrades within the Python 2.4 series for one year. In addition Movable Python itself may be upgraded.

The current version number is 2.0.0.

There is a demo version available from the Movable Python Shop. This is the complete disitrbution for Python 2.3.5, with the following restrictions :

  • Every time you run it, you will get a nag screen reminding you it is a trial.
  • It is set to expire, the nag screen tells you when. Smile

There is also a portable version of IDLE, called Movable IDLE available for free download. This is built with Python 2.4.3 and comes with the full Python standard library, but lacks a lot of the features of Movable Python.

What Comes in the Box

Each distribution is supplied as a single zipfile. Each zipfile contains a single directory (movpy-version) with the following subdirectories :

  1. docs
  2. docs_html
  3. licenses
  4. manuals
  5. movpy
  6. Firedrop2 Extras

A normal distribution is quite big (around 60 megabytes). This is because of all the extra libraries and tools that come with it. You can drastically reduce this size by removing the ones you don't need. See Customising Movable Python for details on how to do this.

docs

This contains the text source files for Movable Python. These are intended to be rendered using rest2web.

In addition to the document source files it contains :

  • r2w.ini - the config file for rest2web to generate the HTML docs.

    You will need to edit the macros value to point to your macro file for this to work correctly.

  • template.txt - the HTML template for the generated docs.

docs_html

The Movable Python documentation in HTML format. This directory also contains all the images and CSS stylesheet needed.

licenses

These are the licenses for the Python libraries and tools that come with Movable Python.

The Movable Python license is part of the documentation.

manuals

Documentation and manuals for some of the Python libraries and tools that come with Movable Python.

movpy

This is the distribution itself. It contains the executables movpy.exe and movpyw.exe, as well as several dlls.

movpyw.exe runs programs without the dos console box.

The lib directory is where the Special Files are located. These allow you to customize the behaviour of Movable Python.

Firedrop2 Extras

This contains extra files used by the macros in Firedrop2.

These don't go in the main Firedrop2 directory. You should follow the instructions in the documentation on how to use them. The documentation is included in the manuals folder.

Distribution Contents

Every Movable Python distribution comes with the full standard library. This means that it is capable of running any code that normal Python can. For an example of a large and complex program that runs under Movable Python, see SPE the Python editor. Smile

A Movable Python User also reports running Zope 3.2 with Movable Python.

Also included are several additional libraries and tools. Below is the list of packages and versions that are currently included:

Note

For compatibility reasons it is not always possible to include all the packages (or the latest versions) in the Python 2.2 distributions.

The list below notes any differences.

Python 2.5

Several of the third party extensions included in Movable Python (like ctypes) are now a standard part of Python. For obvious reasons they're not included separately. Smile

To see all the new extensions in Python 2.5, see New, Improved, and Removed Modules.

Python 2.4

Python 2.4 come with the following tools and libraries :

  • psyco - Version 1.5.2 - The specialising compiler.

    The specializing compiler. Can be used to increase the speed of your Python programs.

    Through the GUI and command line you can turn psyco on for all programs that you run.

  • IPython - 0.7.1.fix1

    IPython is the default interactive interpreter for Movable Python.

    It has many advanced features over the standard one - as well as providing many functions normally only available from a command line shell.

  • wxPython - 2.8.0-unicode - The wxWidgets based GUI toolkit.

    wxPython is the powerful GUI toolkit based on wxWidgets.

    It includes the standard wxPython tools like the PyCrust Shell.

  • docutils - 0.4.0 - For rendering ReST documents.

    The set of libraries used to ReST into HTML and LaYTex.

  • ctypes - 1.0.1 - A library to call dlls from Python.

    This is needed for readline support in IPython. ctypes interfaces Python to external libraries.

  • readline - 1.12 - A port of GNU readline.

    The port of GNU readline to the windows platform.

    Used by IPython.

  • Firedrop2 - 0.2.2 - The Python blog client.

    The Python blog client. A fully featured tool for managing weblogs. It can also be used for managing document collections.

  • Wax - 0.3.33 - A toolkit making it easier to use wxPython.

    A wrapper layer that makes programming with wxPython a much more pleasant experience.

    Used by Firedrop.

  • pythonutils - 0.2.5 - A package of Python programming modules.

    A python Package containing several modules that simplify common programming tasks.

  • PyEnchant - 1.3.0 - A Python spell checker.

    A Python spell checker module. Used by Firedrop.

  • PyCrypto - 2.0.1 - Python cryptography toolkit.

    Python cryptography tools.

  • win32 extensions - Build 210 - Windows module.

    A set of Windows extensions for Python. This includes the Pythonwin IDE.

  • PIL - 1.1.6 - The Python Imaging Library.

    Image manipulation from Python.

  • Pmw - 1.2 - Python Megawidgets

IDLE, the Python editor in the standard library, is also included and works. This uses the version of TKinter/Tcl that usually comes with that version of Python.

Python 2.3

  • wxPython 2.8 is not available for Python 2.3. The version included in the Python 2.3 distribution is 2.6.3.3.
  • Psyco 1.5.1

Python 2.2

The Python 2.2 distributions don't include IPython/readline/ctypes as IPython can't be made to work properly with python 2.2 (IPython requires a version of ctypes that isn't available for Python 2.2).

The last version of wxPython available for Python 2.2 is 2.5.3.1.

In addition, error reporting from python 2.2 is less good. This affects the exec command we use to run scripts. It means that you may not get told which file the error was raised in.

Some of the other libraries may not be fully compatible with Python 2.2. These will either be removed or revert to earlier versions if unsolvable problems are discovered.

Listed here are extensions which are different from the versions for the Python 2.4/2.3 distributions :

  • wxPython 2.5.3.1 - The wxWidgets based GUI toolkit.
  • Wax 0.3.27 - A toolkit making it easier to use wxPython.
  • Psyco 1.5.1

Special Files

As well as the program files, Movable Python has several files that control its behaviour. You can control most of these through the GUI, but you can also edit some of these by hand.

These are located in the lib directory.

Particularly, you might want to add paths to syspaths.pth (to add paths to sys.path) or edit customize.py to customise the environment programs run in.

See Special Files for details.

Custom Distributions

If you would like a custom build of Movable Python, contact me.

Possible reasons for wanting a custom build include :

  • Builds containing particular extension modules.

    For example VPython, SciPy, or SimPy. (Or alternative GUI toolkits).

  • Versions of movpy.exe designed only to run a specific set of programs.

  • Builds to act as a generic executable for a Python application.

    Your main script can still be kept as a Python script without having to recompile with py2exe after making changes.

    This could allow a program to have upgradeable components (including auto-updates) but still be deployed as an executable.

    Updates can use any module in the standard library without having to worry about dependencies.

  • The standard builds don't use bytecode optimisation, or compress the library.zip. This is because some modules (for example doctests) require docstrings, and compressing the library slows it down. Builds with bytecode optimisation or compression can be made available on request.

  • Builds created under Windows 98 may help resolve compatibility issues with some extension modules.

Return to Top
Part of the Movable Python Docs
Page last modified Wed Jan 17 17:15:09 2007.

Buy it Now

Powered by Python

Site Built with rest2web

Hosting for an agile web


Site Built with rest2web

Python on Voidspace