<div dir="ltr"><div>I&#39;m messing around with nltk in the notebook and was trying to produce a graphic (as a popup or inline) from ipython notebook. The thing is, this works from ipython / python command line, but not from the notebook.  The behavior is that the kernel busy message is displayed and nothing happens.  I&#39;ve played with the command line arguments such as &quot;--pylab=tk&quot; or &quot;--gui=osx&quot; or &quot;--gui=tk&quot;, etc.  but can seem to get the rendered sentence tree to display.   I&#39;m only posing this because we&#39;ll be doing a lot with NLTK and we love the ipython notebook feature.   It looks like the drawing in nltk uses Tkinter, so tried various ways to target tk.  For clarity, I am relatively new to python / ipython, so apologies in advance if I&#39;ve missed something in the docs, but googled this for a couple hours, looked at the NLTK source, etc, and decided it was time to ask for help. Sample code is below.<br>
<br></div><div>Thanks for any ideas!<br>Steve<br></div><div><br>import nltk, re, pretty<br><br>sentences = nltk.sent_tokenize(&quot;I love ipython for prototyping and research in python and NLTK. I hope to figure out how to display sentence trees with POS tags in ipython&quot;)<br>
sentences = [nltk.word_tokenize(sent) for sent in sentences] <br>sentences = [nltk.pos_tag(sent) for sent in sentences]<br><br>grammar = &quot;NP: {&lt;DT&gt;?&lt;JJ&gt;*&lt;NN&gt;}&quot; <br><br>cp = nltk.RegexpParser(grammar) <br>
result = cp.parse(sentences[0]) <br>print result  # this works<br><br></div><div>#output<br>(S<br>  I/PRP<br>  love/VBP<br>  ipython/JJ<br>  for/IN<br>  (NP prototyping/NN)<br>  and/CC<br>  (NP research/NN)<br>  in/IN<br>
  (NP python/NN)<br>  and/CC<br>  NLTK/NNP<br>  ./.)<br></div><div><br></div>result.draw() #this doesn&#39;t work, kernel busy message and appears to hang ipython notebook<br></div>