On Thu, Mar 13, 2008 at 6:51 PM, Martijn Faassen &lt;<a href="mailto:faassen@startifact.com">faassen@startifact.com</a>&gt; wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hey,<br>
<br>
On Sun, Mar 9, 2008 at 1:10 PM, Dirceu Pereira Tiegs<br>
&lt;<a href="mailto:dirceutiegs@gmail.com">dirceutiegs@gmail.com</a>&gt; wrote:<br>
[snip]<br>
<div class="Ih2E3d">&gt; &nbsp;I made a branch of megrok.form to add support to blobfile / blobimage,<br>
&gt; &nbsp;but without touching collective.namedfile:<br>
&gt;<br>
&gt; &nbsp;<a href="http://svn.zope.org/megrok.form/branches/z3c.blobfile_support" target="_blank">http://svn.zope.org/megrok.form/branches/z3c.blobfile_support</a><br>
&gt;<br>
&gt; &nbsp;... but it became a mess. :-(<br>
<br>
</div>How did it become a mess? Too much custom code?<br>
<div class="Ih2E3d"><br>
&gt; &nbsp;I&#39;ve also created a branch of collective.namedfile (but doesn&#39;t<br>
&gt; &nbsp;commited yet) with the same additions, but I don&#39;t like the idea of<br>
&gt; &nbsp;adding ZODB 3.8 as a dependency of it. There is any way to add a<br>
&gt; &nbsp;&quot;conditional dependency&quot; in setup.py? It would be great if we can<br>
&gt; &nbsp;install collective.namedfile without z3c.blobfile / ZODB 3.8 dependecy<br>
&gt; &nbsp;in Plone and install *with* these dependecies on Grok / Z3.<br>
<br>
</div>I don&#39;t know of a good way to do this.</blockquote><div><br>Could you achieve this with `extras_require`?&nbsp; I don&#39;t think it&#39;s really much like the intended purpose but it might work;<br><br>{{{<br>setup(name=&quot;collective.namedfile&quot;,<br>
&nbsp;...<br>&nbsp;extras_require = {&quot;z3grok&quot;: [&quot;z3c.blobfile&quot;, &quot;ZODB==3.8&quot;]},<br>)<br>}}}<br><br>And then I think you would `easy_install collective.namedfile[z3grok]` (or include &quot;collective.namedfile[z3grok]&quot; in another setup.py&#39;s install_requires) to have those conditional dependencies pulled in.<br>
<br>Ethan Jucovy</div></div>