                            Pygame Installation

   Python can be built from source, but the easiest way is to get a
   binary package for your type of system and version of python. This
   document will give you information on either type of installation.
   Windows Binary Installer

     This is probably the most popular method of installation. If you
     are running on windows, it is highly recommended you use this form
     of installing. The installers come with with nearly everything you
     need, and have an easy point and click installers.

     The first thing you will need is an installation of Python. Python
     binary installers make it easy to get this done. Pygame binaries
     usually come for the latest 2 releases of python, so you'll want to
     be fairly up to date.

     Once that is in place, you want to download the appropriate windows
     binary. From the pygame downloads page you can find the .EXE file
     you need. This will automatically install all of pygame and all the
     SDL dependencies. The windows binaries have filenames like this;
     "pygame-1.3.win32-py2.1.exe". This would be the installer for
     pygame version 1.3, for python version 2.1. You shouldn't have
     trouble finding the correct binary from the "Windows" section of
     the download page. http://www.pygame.org/download.shtml.

     You will also probably want to install the windows documentation
     and installation package. This will add easy links to the different
     documentation and games that come with pygame. The installer for
     this is found next to the other windows binary downloads. The
     filename looks like this; "pygame-docs-1.3.exe". And this would
     install the documentation and examples for pygame-1.3.

     One other thing the windows binaries are missing is the Numeric
     Python package. You can easily install this separately and it will
     allow you to use the pygame "surfarray" module. This module is
     optional, so there is no need to do this. There are binary
     installers from the Numeric download page.
     http://sourceforge.net/project/showfiles.php?group_id=1369.

   Unix Binary Packages

     For many unix systems, the easiest way to install pygame is from
     source. Still, there are binary packages available for different
     distributions.

     There are several binary RPM packages for linux machines. These are
     actually a little bit of work to install, since you will also need
     several RPM packages for the dependencies. There is a good chance
     your linux distribution came with the needed dependencies (like
     Python and SDL). There are binary RPMs available from the website
     for each dependency.

     For debian systems, pygame is actively maintained in the debian
     archives. Visit the debian pygame page for more information.
     http://packages.debian.org/cgi-bin/search_packages.pl?keywords=pyga
     me

     FreeBSD also has an active pygame package. While techinicaly it
     isn't binary, it is automatically built and installed by the ports
     manager. See the FreeBSD package page for more information.
     http://www.freebsd.org/cgi/ports.cgi?query=py-game&stype=name

   Macintosh Binaries

     There are separate binaries for both MacOS and OSX. For both these
     operating systems, there are several remaining problems with the
     Python and SDL dependencies. Therefore the binary packages for
     pygame also come with fixed versions of python and the SDL
     libraries.

     For MacOS, binaries are available on the pygame downloads page.
     http://www.pygame.org/download.shtml. Unfortunately the binaries
     are stuck at pygame version-1.1.

     For OSX, there is also a large collection of binary files.
     Currently these are available at the OSX packager's website,
     http://redivi.com/~bob/. Visit the site for more information on
     current issues with the OSX port, as well as screenshots of OSX
     pygame in action.

   Installing From Source

     Compiling and installing pygame is handled by Python's distutils.
     Pygame also comes with some scripts to automatically configure the
     flags needed to build pygame. Use the "setup.py" script to start
     the installation.

     The first time you run the setup script, it will call the
     "config.py" script. This will build a "Setup" file which stores all
     the information needed to compile. The "config.py" will do a good
     job of detecting what dependencies are available and where they are
     located. If it isn't perfect, it is easy to build your own, or edit
     the created "Setup" text file. This "Setup" file is a simple
     Makefile-like text file. It defines variables needed to use each
     dependency, and then enables all the pygame modules with found
     dependencies. If you have trouble compiling, you should be able to
     easily fix any problems inside the "Setup" file.

     Running the "setup.py" script will call distutils to build and
     install the pygame package. Distutils actually supports a wide
     variety of compile and install options. running "python setup.py
     help" will start to show you the different options available. You
     can change many things like install locations, compiler to use, and
     more. Calling the "setup.py" script with no arguments and it will
     just ask you if you want the default flags needed to compile and
     install.

   Windows Compiling Info

     Compiling all the dependencies on windows is a real challenge.
     Fortunately there is zip file with all the libraries and headers
     you need to compile. You should definitely unzip this into your
     pygame source folder, and all the files go into a "prebuilt"
     subdirectory. The autoconfigure "config.py" script will find this
     prebuilt directory and make use of it for you.
     http://www.pygame.org/ftp/win32-dependencies.zip. If you don't use
     the prebuilt binaries directory, the autoconfig script will scan
     the neighboring directory trees to find the dependencies.

     When installing on windows, the "setup.py" script will also copy
     all the used .DLL files into the pygame directory.

   Unix Compiling Info

     Compiling from linux shouldn't give you any problems. One thing you
     must keep in mind is that most linux RPM packages separate the
     actual library from the "dev" files needed to compile. To build you
     will need to make sure the packages like "SDL-dev" are installed.

     You can check to see if SDL is ready to be built from by running
     the command "sdl-config" and seeing if it is found.

   OSX Compiling Info

     Building pygame on OSX is not really supported yet. Actually, the
     "config.py" script will actually do a good job on OSX.
     Unfortunately, there are some bugs with both SDL and Python for
     OSX, so it will be difficult to build a working version of pygame
     on your own. You will also need to build the SDL libraries as
     ".dylib" libraries, which is not the default build mode for these.
