[Python-Dev] draft PEP: virtual environments

Vinay Sajip vinay_sajip at yahoo.co.uk
Mon Oct 31 08:50:24 CET 2011


Antoine Pitrou <solipsis <at> pitrou.net> writes:


> I don't understand why a zip file makes this easier (especially the
> "update selectively" part).

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 install_scripts(self, stream):
        # ...

    def setup_scripts(self):
        self.install_scripts(self.scripts)

class Derived:
    scripts = ... # zip stream containing modified script B, new script C

    def setup_scripts(self):
        self.install_scripts(Base.scripts) # adds A, B
        self.install_scripts(self.scripts) # adds C, overwrites B

I'm not saying you couldn't do this with e.g. directory trees; it just seems
neater to have the scripts in a black box once they're deployed, with a zip file
representing that black box.

Regards,

Vinay Sajip




More information about the Python-Dev mailing list