Hello, Guy Hulbert wrote: > appending lib to everything is really ugly* ... is it because > > ./appname.py > ./appname/__init__.py > > fails to work ?
Yes! If you import appname from the appname.py, it will try to import itself ! What I do right now is the following : ./scripts/appname ./appname/__init__.py ./appname/runner.py And then in /scripts/appname (the executable) I put: SCRIPTS_DIR = "scripts" def _is_in_devel(): d = os.path.split(os.path.dirname(os.path.abspath(__file__)))[1] return d == SCRIPTS_DIR if _is_in_devel(): d = os.path.split(os.path.dirname(os.path.abspath(__file__)))[0] sys.path.insert(0, d) os.environ["PATH"] += ":%s" % (os.path.join(d, SCRIPTS_DIR)) from appname import runner runner.run() I for inspired by pitivi, which does that. (thanks Ed!) For the runner thing, I got inspired from Twisted. I am not saying this is perfect, but it works well with the limitations of the packaging in importing mechanism in Python. Regards, Alexandre Quessy http://alexandre.quessy.net -- To UNSUBSCRIBE, email to debian-python-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org