However I couldn't find a way to install it systemwide. If it had a
standard distutils based install it wouldn't be much of a problem. Is it
possible that such a way would be introduced in the future?
Actually I even tried hacking my own setup.py for it but hit a brick
wall when I saw that symbide still has to have write access to some
directories. I think that those should be possible to handle in a
gracious way somehow. Currently my thoughts are:
1. split into a 'symbide' package and scripts, i.e. move 'Symbide.py'
(and 'Com.py'?) out of 'symbide' directory.
2. move 'examples' to the 'symbide' directory to have everything in one
place. Then symbide/settings and symbide/examples could be copied on
first run to ~/.symbide on linux or somewhere to the Application Data
directory on Windows.
3. Get rid of 'temp' somehow. I'm not sure what its function is but you
should be either able to use standard 'tempfile' module or use
'home'/'Application Data' instead.
4. I don't know how to handle 'tests' however. Maybe some inspiration
could be found in other python modules (I know for sure that 'scipy' has
extensive tests for example)
5. In the end it should be rather easy to make a setup.py script, which
will take care of making 'Symbide.py' (and 'Com.py'?) executable (on
Gentoo the standard wrapper for distutils even puts it into /usr/bin, I
don't know whether distutils do that on Ubuntu.). On windows some post
installation script trickery might be required to make a shortcut to
script(s).
There actually isn't much to it. I'm attaching (I hope it works) my
setup.py and MANIFEST.in in their current non-working state.
They assume a directory structure:
INSTALL
LICENSE
setup.py
Symbide.py
symbide/
__init__.py
examples/<file>
settings/<dir>/<file>
<...>
paths.xml
<...>
Mine bailed out on errorWidget.py
> Are there any other things that don't work for Python <2.5?
Currently I don't know any other way to find out than to just try your
next trunk revision and see what happens :)
> I'm wondering you're not mentioning ctypes. Were they included <2.5?
> Nevertheless I will try to get rid of them too.
ctypes weren't much of a problem... it's just an emerge away ;)
Well I had no idea... Just saw them being imported in your main
__init__.py file without noticing that it also handles import failures.
But 'requires' and 'provides' are not supported in 2.4 anyway (distutils
gives a warning on them), so maybe they should be nuked altogether. On a
side note I actually have absolutely no idea, what those lines could be
used for - actual dependencies are handled by packages managers in their
own format. Maybe easy_install uses it somehow...
Also forgot to mention that INSTALL.in goes in the same directory as
setup.py