wiki:InstallDiscoveryBrowse

Version 1 (modified by domlowe, 12 years ago) (diff)

Instructions for installing discovery/browse - not finished

Installing the Pylons stack: Discovery, Browse, and CSML services

All the NDG services are now built on top of the the  Pylons framework. This is a guide to installing the framework and all the NDG services based on my experiences of installing from scratch on the glue development server. Most of the install uses 'easy_install' to install python eggs.

Step 1: Choose your Python

This process is going to install a lot of packages (mainly eggs) to your python distrobution. You may or may not want to use the system python for this. However we are recommending python 2.4 for this install so if you system python is different you will want to create a separate python.

On Glue a fresh python 2.4 was installed into /usr/local.

Whichever python you use (system or otherwise), in the following instructions, whenever you see the command 'python' it refers to your chosen python so make sure your PATH environment variable is correct. The command 'sudo' is used throughout as I was in a directory owned by the root user, but this may or may not apply to you.

Python 2.4 can be downloaded  here along with install instructions.

Step 2: Install the latest setuptools egg

Download ez_setup.py:

sudo wget http://peak.telecommunity.com/dist/ez_setup.py

If that didn't work you probably need to set the http_proxy environment variable:

export http_proxy=http://yourproxyurl.com:8080

Run it and setuptools will be installed:

sudo python ez_setup.py

And you can now delete ez_setup.py:

sudo rm ez_setup.py

Step 3: Install Paste

sudo python -m easy_install paste

Step 4: Install Pylons

sudo python -m easy_install pylons==0.9.5

Step 5: Install Kid templating plugin

sudo python -m easy_install TurboKid

Step 6: Install CSML

This stage will install the CSML, Cdat_lite and Numeric eggs. The Numeric install was not straightforward on Glue, perhaps because I wasn't using the system python.

Anyway, try this:

sudo python -m easy_install -f http://ndg.nerc.ac.uk/dist csml

If that worked go straight to Step 7.

However if you got a message about not being able to find Numeric/arrayobject.h then then try and follow these instructions to make those headers available (there's probably a better way to do this but this is what worked for me). I think this is due to trying to install into a non-system python.

Step 6.1: Download and unpack the Numeric source code

wget http://downloads.sourceforge.net/numpy/Numeric-24.2.tar.gz
sudo gunzip  -c Numeric-24.2.tar.gz
sudo tar -xvf  Numeric-24.2.tar     

cd Numeric-24.2

Step 6.2: Copy header files into your local includes

I'd installed python into /usr/local, so I had to move the headers to /usr/local/include/python2.4

There is a subdirectory called Numeric which contains the header files, copy this into your python includes eg:

sudo cp -rf Numeric /usr/local/include/python2.4/

And there are some more that need moving:

sudo cp -rf Packages/FFT/Include /usr/local/include/python2.4
sudo cp -rf Packages/RNG/Include /usr/local/include/python2.4

Right, now you can get rid of this source directory.

cd ..
sudo rm -rf Numeric-24.2

Step 6.3: Install Numeric

sudo python -m easy_install http://ndg.nerc.ac.uk/dist/Numeric-24.2.tar.gz

Step 6.4: Install Cdat_Lite

sudo python -m  easy_install http://ndg.nerc.ac.uk/dist/cdat_lite-4.1.2-0.2.4.tar.gz

Step 6.5: Install CSML

sudo python -m easy_install -f http://ndg.nerc.ac.uk/dist csml

Step 7: Recap

If you've got to this stage you should be able to start python and test out your imports:

-bash-2.05b$ python
Python 2.4.4 (#6, Jul 10 2007, 09:11:51) 
[GCC 3.2.3 20030502 (Red Hat Linux 3.2.3-52)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import pylons
>>> import paste
>>> import Numeric
>>> import cdms
>>> import csml
could not import Image
>>> 

The message about 'Image' means the python imaging library is not installed. This is not mandatory, and is only needed for PML at the moment.

So now all the components are there except for the discovery, browse and CSML services code...

Step 8: Get the code from subversion