<br><br><div class="gmail_quote">On Fri, May 15, 2009 at 10:48 AM, P.J. Eby <span dir="ltr">&lt;<a href="mailto:pje@telecommunity.com">pje@telecommunity.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">At 11:38 PM 5/14/2009 +0200, Tarek Ziadé wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
That happened because I got a bit lost in the way finders were working<br>
in setuptools, which seemed<br>
a bit over-engineered at that time to me (but I might end up changing<br>
my mind at sime point when I understand it better).<br>
</blockquote>
<br></div>
The finders mechanism is there to allow support for arbitrary PEP 302 importers -- i.e., sys.path strings that don&#39;t go to the filesystem.<br>
<br>
The main reason why there are two finders currently (find_on_path and find_in_zip) is that find_in_zip supports egg directory bundling.  That is, an .egg zipfile may contain arbitrarily nested .egg directories, and an .egg directory may contain arbitrarily nested .egg directories or .egg zipfiles.</blockquote>
<div><br>The idea of nested eggs reminds me again of the concept of a &quot;toolset&quot;, where something like virtualenv contains a discreet set of libraries for a particular package, like Pylons 0.9.7.  You could download this qualified toolset without needing to worry about runtime configuration issues, and then it would also be quite fast to import if it was isolated from the other toolsets.  This means that an entry point could just call right to a toolset or a set of toolsets.  <br>
<br>The downside of having isolated toolsets/virtualenvs is more diskspace, and the need to explicately add new libraries to your toolset.  The upside is a streamlined sys.path and guaranteed compatability by the toolset authors.   <br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<br>
However, if you&#39;re not implementing dependency resolution, you don&#39;t need that support.  If such a nested item were in use, it&#39;d be on sys.path already.  (In other words, the nesting lookups are only useful for alternate version discovery, not simple metadata lookups.)<div>
<div></div><div class="h5"><br>
<br>
_______________________________________________<br>
Distutils-SIG maillist  -  <a href="mailto:Distutils-SIG@python.org" target="_blank">Distutils-SIG@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/distutils-sig" target="_blank">http://mail.python.org/mailman/listinfo/distutils-sig</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Cheers,<br><br>Noah<br>