Part of the reason I was waiting to switch from using Windows XP (gasp) as my Django development platform to OS X is that it is actually easier to install the platform on XP. Windows does not come with any of the tools, so it was a matter of installing the version that I need. For OS X, it had a older version of python, so I would have to have multiple versions of it running. But Leopard changes all that. So I switched!
Running Django on os x becomes much easier with Leopard. Out of the box Leopard comes with almost everything I need :
Python is at version 2.5.1
• svn is at version 1.4.4
• SQLite is at version 3.4 with python library installed
For development, I use SQLite and the built in web server only. I run Postgres on the production boxes. Because I do not have to install Postgres, getting Django setup is just a matter of setting up the rest of the environment:
Install Django
You can just download the installation tarball and do a standard Python install. But to have a little more flexibility in switching Django versions, I download both the production and trunk versions of Django into my own directory. Then using a soft link I can switch between the two. Download Django into my own home directory, under extlib, where I put all the external libraries. Then link from the Python site-packages directory to my own Django directory. By switching where that link points, I can switch version.
# Make directory and download two versions of Django:
cd $HOME
mkdir extlib
cd extlib
svn co http://code.djangoproject.com/svn/django/tags/releases/0.96.1 django-0.96
svn co http://code.djangoproject.com/svn/django/trunk/ django_trunk
# Then symlink instead of installing the django code into the Python site-packages, which is at
# at /Library/Python/2.5/site-packages on my machine.
sudo ln -s ~/extlib/django-0.96/django django
Note: You can find the location of the library by running a simple python statement:
python -c ' import sys; print sys.path'
and look for the site-packages directory.
Setup Shell
I need to setup my shell environment so that my (multiple) Django projects can find Django. If you need help in figuring out where to put things, bashrc vs bash_profile etc, this article explains how and where to put things very well. Most importantly, add the django bin directory to your path:
PATH=$PATH:/Library/Python2.5/site-packages/django/bin
Note: I am adding the Django bin directory to the PATH via the python site-packages link. That way if I switch Django versions via the site-packages link, the PATH will switch automatically!
Python Image Library
I need to use this for image processing. I thought I could get away from installing the free Apple developer tools but I couldn't. I have to install the Apple XCodeTools set first, from the OS X installation CD. Then download the source files here .
Before running the install, you also need to get the libjpeg for JPEG support:
Dowload the source at http://www.ijg.org/files/jpegsrc.v6b.tar.gz
untar it, cd into the jpeg-6b directory and then:
cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess .
./configure --enable-shared
make
sudo mkdir -p /usr/local/include
sudo mkdir -p /usr/local/bin
sudo mkdir -p /usr/local/lib
sudo mkdir -p /usr/local/man/man1
sudo make install
The following the PIL build instructions:
edit the setup.py file, add the lines instead of setting them to None:
JPEG_ROOT = "/usr/local/include"
ZLIB_ROOT = "/usr/local/include"
then run:
python setup.py build_ext -i
python selftest.py
sudo python setup.py install