On Wed, Mar 20, 2013 at 6:58 AM, Daniel Holth
Like with pkg_resources, developers are warned to only "require Gems" on things that are *not* imported (preferably in the equivalent of our console_scripts wrappers). Otherwise you get an unwanted Gem dependency if you ever tried to use the same gem outside of the gem system.
I don't really know what you mean by this - could you please reword it?
There should be only one call to the linker, at the very top of execution. Otherwise in this pseudo-language example you can't use foobar without also using the requires system:
myscript: requires(a, b, c) import foobar run()
foobar: requires(c, d) # No!
RIght, version control and runtime access should be separate steps. In a virtual environment, you shouldn't need runtime checks at all - all the version compatibility checks should be carried out when creating the environment. Similarly, when a distro defines their site-packages contents, they're creating an integrated set of interlocking requirements, all designed to work together. Only when they need multiple mutually incompatible versions installed should the versioning system be needed. Assuming we go this way, distros will presumably install system Python packages into the versioned layout and then symlink them appropriately from the "available by default" layout in site-packages. Cheers, Nick. -- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia