How to run MoinMoin with new Python version when your machine has an old version of Python. The information here is correct for most Unix like operating systems, not only for GNU/Linux.
Although we are rather conservative with our Python requirements, it might happen that you only have a too old Python available.
The description below is for Python >= 2.3, but it in principle also applies for higher Python requirements we might have in future.
If you still have an old linux system and you don't want to upgrade it (or you are not allowed to upgrade it), you are maybe interested in this easy solution:
Usually you want to have packages to upgrade your system as you can install and remove them easily. If you run sort of a "stone age" system, there can be reasons not to want to install newer packages:
- you might break dependencies of other old packages
- you might introduce unknown incompatibilities with other old packages (or self-written code)
you are root or you can get root doing it for you
So if your old linux system is in a "don't touch, everything works" state, just do it like this:
get some recent python source code from http://python.org/ - latest 2.5.x, 2.4.x or 2.3.x is recommended.
- uncompress it and change into its directory
./configure ; make ; make install will build and install it to /usr/local
Advantages of this method:
- no software already running on your system will be influenced by it (assuming that you didn't have a /usr/local/ install of python before) - it will still use your old python
- it will be made matching your installed software environment
you can just change your moin stuff to use it, by adding e.g. #!/usr/local/bin/python2.4 to the server script you use
It will run faster and with less problems.
Disadvantages:
- it won't be under package manager control (but as it will be separated under /usr/local, this is no big issue) - you can remove it easily manually if you ever wish to.
you are not root, just some user
Python will happily run from your homedirectory, you just need to compile appropriately.
The easiest way is to compile it on the machine it will run on later. If you can't do that (because you don't have shell access or a compiler), you can also build it on a machine running about the same stuff as the target machine does (and later ftp it to your home dir).
TODO: configure details