I certainly agree :) My workaround plan is to use a global search on ._api in my codebase and remove them when I move on from 3.3.1 to later version. <br><br>- Shailesh<br><br><br><div class="gmail_quote">On Wed, Aug 12, 2009 at 6:18 AM, Martin Aspeli <span dir="ltr">&lt;<a href="mailto:optilude%2Blists@gmail.com">optilude+lists@gmail.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">Shailesh Kumar wrote:<br>
&gt; I generally make it /from zope.component._api import getUtility/ to make<br>
&gt; PyDev happy. It doesn&#39;t hurt the code and I don&#39;t have to see the<br>
&gt; &#39;unresolved import message&#39;.<br>
<br>
</div>You shouldn&#39;t do this. You shouldn&#39;t import from a module starting with<br>
an underscore. It&#39;s the developers&#39; way of telling you to treat it as<br>
internal. &#39;from zope.component import getUtility&#39; is almost certain to<br>
work &quot;forever&quot;. The _api module could disappear in a refactoring tomorrow.<br>
<br>
The only way to fix this is to make PyDev aware of zope.deferredimport.<br>
You could ask. :)<br>
<br>
Martin<br>
<font color="#888888"><br>
<br>
--<br>
Author of `Professional Plone Development`, a book for developers who<br>
want to work with Plone. See <a href="http://martinaspeli.net/plone-book" target="_blank">http://martinaspeli.net/plone-book</a><br>
</font><div><div></div><div class="h5"><br>
_______________________________________________<br>
Zope3-users mailing list<br>
<a href="mailto:Zope3-users@zope.org">Zope3-users@zope.org</a><br>
<a href="http://mail.zope.org/mailman/listinfo/zope3-users" target="_blank">http://mail.zope.org/mailman/listinfo/zope3-users</a><br>
</div></div></blockquote></div><br>