Installing Windmill
Windmill is written in Python and JavaScript. You'll need to setup python with the required package distribution modules installed in order to install windmill. We've tried to cover all the issues you may run in to installing and setting up python in the text below, if you run in to a problem not described please log a bug or ping us on IRC or send mail to windmill-dev@…
Installing Python
You'll need to install python 2.5.1 using the installer for your operating system from the python.org download page http://python.org/download/
NOTE: Windmill requires Python version 2.5 or greater and is not compatible with earlier version of Python.
Installing on Linux via apt
Even if you have python2.5 installed many linux distributions don't include essentials header files for python and for other compilers required for building some of windmill's dependencies:
sudo apt-get install build-essential sudo apt-get install python2.5-dev
Some Linux distributions require that python2.5 remains your default python and you will need to continue invoking python as
python2.5
Setting PATH
Most operating systems will have multiple version of python installed, and this can cause a lot of confusion for people new to python. It is suggested you set the PATH environment variable for your operating system to make sure you're always calling the right python version and install.
Setting PATH on OS X
Use your favorite editor and open both /Users/your_username/.bashrc or /Users/your_username/.bash_profile . By default your terminal shell on OS X is bash, if you've changed it then you'll need to edit the rc file for the shell you're using.
NOTE: If the .bashrc file does not exist just edit the .bash_profile file.
Add the following line to the end of your rc file.
PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH
Now restart your terminal and envoke the python. It should look like this;
$ python Python 2.5.1 (r251:54869, Apr 18 2007, 22:08:04) [GCC 4.0.1 (Apple Computer, Inc. build 5367)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
Use ctrl-D to quit the python shell.
Setting PATH for Windows
- Right click on "My Computer".
- Select "Properties" from the context menu.
- In the "System Properties" dialog box, click on the "Advanced" tab.
- Click on the "Environment Variables" button.
- Highlight the "Path" Variable in "System variables" section.
- Click the "Edit" button.
- Append the following lines to the text inside the "Variable value" text box semi-colon delimited.
C:\Python25\ C:\Python25\Scripts\
NOTE: If either entry already exists in the text box, do not add a redundant copy.
- Click "OK" on the "Edit System Variable" dialog box then "OK" on the "Environment Variables" dialog box to commit the changes.
You should now be able to invoke python in "Command Prompt" by simply typing "python". It should look like this;
C:\>python Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
Notes on cygwin and MinGW
If you have cygwin installed you should still try to use the normal windows python, even if calling it from cygwin. Cygwin's python has a variety of issues, a major one being that it doesn't have all the windows specific modules compiled in which means no module for manipulating the registry, which means no IE launcher.
Installing setuptools
Windmill, like most python projects, uses setuptools for distribution. You'll need to download ez_setup.py and invoke python on it.
python ez_setup.py
Installing for Regular Usage (Not for Development on Windmill)
Since you already have setuptools installed, installing windmill is a one line operation.
easy_install windmill
Some environments, mostly linux, install a different easy_install for each version of python so the command on your environment might be
easy_install2.5 windmill
or
easy_install-2.5 windmill
Installing on Windows without Visual Studio .NET 7.1
If you are installing on Windows and you don't have Visual Studio .NET 7.1 installed, you will run into a problem building simplejson.
The easiest solution is to install simplejson by hand and skipping the C speedups.
- Download from http://pypi.python.org/packages/source/s/simplejson/simplejson-1.7.3.tar.gz
- Extract tarball ( Cygwin example: $ tar -zxf simplejson-1.7.3.tar.gz )
- Run:
python setup.py --without-speedups bdist_egg install
If you would like to compile the speedups for simplejson and make windmill a little faster we found a pretty workable solution:
- Install MinGW from http://sourceforge.net/projects/mingw/
- Add C:\MinGW\bin to the system PATH (use the System applet from the Control panel)
- Build your extension with --compiler=mingw32 argument:
python setup.py build --compiler=mingw32
or put a distutils.cfg file under C:\python\lib\distutils dir (or where you installed python) containing the following entries:
[build] compiler = mingw32
After that you can install extension modules as usual (without the --compiler flag):
Now that windmill is installed you can move on to learning about running windmill
Installing for Development
Getting Source
Installing Subversion
You'll need subversion installed in order to download the windmill. You can refer to the subversion download page, each package comes with install documentation.
Downloading from Subversion
svn co http://svn.osafoundation.org/windmill/trunk/
Running setup.py
If you run setup.py install's develop command you will install some egg links back to the source repository you've downloaded. This way each time you use svn up to update the source tree windmill will automatically update to newest.
python setup.py develop
Since you're using the source trunk, the version is subject to change. Because python egg's like to keep track of their current version you will have to re-run the previous command when the windmill version is changed in the source trunk's setup.py.
Now that windmill is installed you can move on to learning about running windmill
Installing from Binary
Until the windmill service UI is completed we don't see a huge need for pre-compiled binaries. Once we have a desktop GUI we'll be producing continuous binaries for all major platforms.
Moving On
Now that windmill is installed you can move on to learning about running windmill
