On Wed, Mar 20, 2013 at 6:58 AM, Daniel Holth <dho...@gmail.com> wrote:
>>> 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   |   ncogh...@gmail.com   |   Brisbane, Australia
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to