## Installation

Venus has been tested on Linux, and Mac OSX, and Windows.

You'll need at least Python 2.2 installed on your system, we recommend Python 2.4 though as there may be bugs with the earlier libraries.

Everything Pythonesque Planet needs to provide basic operation should be included in the distribution. Some optional features may require additional libraries, for example:

- Usage of XSLT requires either xsltproc or python-libxslt.
- The current interface to filters written in non-templating languages (e.g., python) uses the subprocess module which was introduced in Python 2.4.
- Usage of FOAF as a reading list requires librdf.

### General Instructions

These instructions apply to any platform. Check the instructions below for more specific instructions for your platform.

1. If you are reading this online, you will need to download and extract the files into a folder somewhere. You can place this wherever you like, `~/planet` and `~/venus` are good choices, but so's anywhere else you prefer.

2. This is very important: from within that directory, type the following command:

   > `python runtests.py`

   This should take anywhere from a one to ten seconds to execute. No network connection is required, and the script cleans up after itself. If the script completes with an "OK", you are good to go. Otherwise stopping here and inquiring on the mailing list is a good idea as it can save you lots of frustration down the road.

3. Make a copy of one of the `ini` the files in the examples subdirectory, and put it wherever you like; I like to use the Planet's name (so `~/planet/debian`), but it's really up to you.

4. Edit the `config.ini` file in this directory to taste, it's pretty well documented so you shouldn't have any problems here. Pay particular attention to the `output_dir` option, which should be readable by your web server. If the directory you specify in your `cache_dir` exists; make sure that it is empty.

5. Run it: `python planet.py pathto/config.ini`

   You'll want to add this to cron, make sure you run it from the right directory.

6. (Optional)

   Tell us about it! We'd love to link to you on planetplanet.org :-)

7. (Optional)

   Build your own themes, templates, or filters! And share!

### Mac OS X and Fink Instructions

The Fink Project packages various open source software for MacOS. This makes it a little easier to get started with projects like Planet Venus.

Note: in the following, we recommend explicitly using `python2.4`. As of this writing, Fink is starting to support `python2.5` but the XML libraries, for example, are not yet ported to the newer python so Venus will be less featureful.

1. Install the XCode development tools from your Mac OS X install disks

2. Download and install Fink

3. Tell fink to install the Planet Venus prerequisites:
   `fink install python24 celementtree-py24 bzr-py24 libxslt-py24 libxml2-py24`

4. Download and extract the Venus files into a folder somewhere

5. Run the tests: `python2.4 runtests.py`
   This will warn you that the RDF library is missing, but that's OK.

6. Continue with the general steps above, starting with Step 3. You may want to explicitly specify `python2.4`.

### Ubuntu Linux (Edgy Eft) instructions

Before starting, issue the following command:

>     sudo apt-get install bzr python2.4-librdf

### Windows instructions

htmltmpl templates (and Django too, since it currently piggybacks on the htmltmpl implementation) on Windows require the pywin32 module.

### Python 2.2 instructions

If you are running Python 2.2, you may also need to install pyxml. If the following runs without error, you do not have the problem.

>     python -c "__import__('xml.dom.minidom').dom.minidom.parseString('<entry xml:lang=\"en\"/>')"

Installation of pyxml varies by platform. For Ubuntu Linux (Dapper Drake), issue the following command:

>     sudo apt-get install python2.2-xml