[Python-Dev] draft PEP: virtual environments (original) (raw)

"Martin v. Löwis" martin at v.loewis.de
Tue Nov 1 08:25:20 CET 2011


Not a zip file specifically - just a binary stream which organises scripts to be installed. If each class in a hierarchy has access to a binary stream, then subclasses have access to the streams for base classes as well as their own stream, and can install selectively from base class streams and their own stream.

class Base: scripts = ... # zip stream containing scripts A, B def installscripts(self, stream): # ... def setupscripts(self): self.installscripts(self.scripts) class Derived: scripts = ... # zip stream containing modified script B, new script C def setupscripts(self): self.installscripts(Base.scripts) # adds A, B self.installscripts(self.scripts) # adds C, overwrites B

I'm not sure how many scripts you are talking about, and how long they are. Assuming there are free, and assuming they are short, I'd not make them separate source files again, but put them into string literals instead:

scripts = { 'start':'''
#!/bin/sh echo start ''', 'stop':'''
#!/bin/sh echo stop ''' }}}

Then, your install_scripts would take a dictionary filename:script contents. That's just as easily extensible.

Regards, Martin



More information about the Python-Dev mailing list