<br><br><div class="gmail_quote">On Tue, Oct 16, 2012 at 11:42 AM, Aaron Meurer <span dir="ltr">&lt;<a href="mailto:asmeurer@gmail.com" target="_blank">asmeurer@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5">On Tue, Oct 16, 2012 at 12:38 PM, MinRK &lt;<a href="mailto:benjaminrk@gmail.com">benjaminrk@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Oct 16, 2012 at 11:14 AM, Matthias BUSSONNIER<br>
&gt; &lt;<a href="mailto:bussonniermatthias@gmail.com">bussonniermatthias@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Le 16 oct. 2012 à 20:03, David Warde-Farley a écrit :<br>
&gt;&gt;<br>
&gt;&gt; &gt; On Tue, Oct 16, 2012 at 1:45 PM, Matthias BUSSONNIER<br>
&gt;&gt; &gt; &lt;<a href="mailto:bussonniermatthias@gmail.com">bussonniermatthias@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Le 16 oct. 2012 à 19:24, David Warde-Farley a écrit :<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; On Thu, Oct 11, 2012 at 7:22 PM, Aaron Meurer &lt;<a href="mailto:asmeurer@gmail.com">asmeurer@gmail.com</a>&gt;<br>
&gt;&gt; &gt;&gt;&gt; wrote:<br>
&gt;&gt; &gt;&gt;&gt;&gt; You may want to start a deprecation cycle for the SymPy printing<br>
&gt;&gt; &gt;&gt;&gt;&gt; extension, which has been moved to SymPy itself as of 0.7.2.  I would<br>
&gt;&gt; &gt;&gt;&gt;&gt; just have the following logic:<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; if SymPy version is 0.7.2 or greater: use the ipython version (or<br>
&gt;&gt; &gt;&gt;&gt;&gt; should it use the sympy version?), but emit a deprecation warning<br>
&gt;&gt; &gt;&gt;&gt;&gt; telling the user to just load sympy.interactive.ipythonprinting<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; if SymPy version is less than 0.7.2: don&#39;t do any warnings<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; And then, when it&#39;s been long enough that probably most people are<br>
&gt;&gt; &gt;&gt;&gt;&gt; using SymPy 0.7.2 and IPython 0.13.1 or greater, remove it entirely.<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Hmm. I just fired up one of my SymPy-centric notebooks that I haven&#39;t<br>
&gt;&gt; &gt;&gt;&gt; touched in a while with IPython master, SymPy still 0.7.1 from EPD<br>
&gt;&gt; &gt;&gt;&gt; 7.1-2, and the pretty printing is mysteriously not working with<br>
&gt;&gt; &gt;&gt;&gt; %load_ext sympy. Any idea why?<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; %load_ext sympyprinting ?<br>
&gt;&gt; &gt;&gt; ( note that it is currently being moved from IPython to the sympy<br>
&gt;&gt; &gt;&gt; module)<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Thanks Matthias.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Was it always named &quot;sympyprinting&quot;? I had %load_ext sympy in my<br>
&gt;&gt; &gt; notebook and it used to work, strangely.<br>
&gt;&gt;<br>
&gt;&gt; I&#39;ve always known the extension as sympyprinting.<br>
&gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Why does %load_ext sympy still work then? Does it just silently pass<br>
&gt;&gt; &gt; with any module name? (I noticed just now that &quot;%load_ext pickle&quot;<br>
&gt;&gt; &gt; works…).<br>
&gt;&gt;<br>
&gt;&gt; Hum; I have no idea why `%load_ext module` works, or if it should print a<br>
&gt;&gt; warning when there is no extension available with a module.<br>
&gt;&gt; Let&#39;s say it&#39;s a feature, so that for modules that have extension bundled<br>
&gt;&gt; in it you don&#39;t have to remember the name of the extension.<br>
&gt;<br>
&gt;<br>
&gt; I believe this is the way extensions work:<br>
&gt;<br>
&gt; %load_ext [module]<br>
&gt;<br>
&gt; which imports [module], then *if module.load_ipython_extension is defined*,<br>
&gt; calls `module.load_ipython_extension(shell)`.  The IPython extensions dir is<br>
&gt; just added to sys.path.  In this way, any module can be an IPython<br>
&gt; extension.  We could definitely add a message in cases where<br>
&gt; `load_ipython_extension` is not defined, which would suggest that it may not<br>
&gt; actually be an extension (not necessarily the case).<br>
<br>
</div></div>So if we wanted to make %load_ext sympy work, what should we do? Just<br>
define load_ipython_extension in __init__.py?</blockquote><div><br></div><div>Yes, that should do it.  Even `from sympy.interactive.ipythonprinting import load_ipython_extension` ought to work.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  Is there a way to do it<br>
so that load_ipython_extension doesn&#39;t get imported with &quot;from sympy<br>
import *&quot;?<br></blockquote><div><br></div><div>I think the only way to do this is to use an explicit `__all__` list of names.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<span class="HOEnZb"><font color="#888888"><br>
Aaron Meurer<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
&gt;<br>
&gt; But someone who is more familiar with the extension machinery can correct<br>
&gt; me.<br>
&gt;<br>
&gt; By the way, I wrote an extension this morning: autosave for notebooks<br>
&gt; (<a href="https://github.com/minrk/autosave_ipython" target="_blank">https://github.com/minrk/autosave_ipython</a>)<br>
&gt;<br>
&gt; -MinRK<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Matthias<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; IPython-User mailing list<br>
&gt;&gt; <a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
&gt;&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; IPython-User mailing list<br>
&gt; <a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
&gt; <a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
&gt;<br>
_______________________________________________<br>
IPython-User mailing list<br>
<a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
</div></div></blockquote></div><br>