ImportError: cannot import name locks
<p>I'm helping someone who's seeing this error with bokeh in Jupyter:</p>

<pre><code>from bokeh.plotting import figure, output_notebook, show

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
&lt;ipython-input-1-fa374f2df119&gt; in &lt;module&gt;()
----&gt; 1 from bokeh.plotting import figure, output_notebook, show

/resources/.virtualenv/python2/lib/python2.7/site-packages/bokeh/plotting/__init__.py in &lt;module&gt;()
      5 from ..models.layouts import Row, Column; Row, Column
      6 
----&gt; 7 from ..io import curdoc; curdoc
      8 from ..io import output_file; output_file
      9 from ..io import output_notebook; output_notebook

/resources/.virtualenv/python2/lib/python2.7/site-packages/bokeh/io.py in &lt;module&gt;()
     27 
     28 # Bokeh imports
---&gt; 29 from .core.state import State
     30 from .document import Document
     31 from .embed import notebook_div, standalone_html_page_for_models, autoload_server

/resources/.virtualenv/python2/lib/python2.7/site-packages/bokeh/core/state.py in &lt;module&gt;()
     44 from ..document import Document
     45 from ..resources import Resources, _SessionCoordinates
---&gt; 46 from ..client import DEFAULT_SESSION_ID
     47 
     48 #-----------------------------------------------------------------------------

/resources/.virtualenv/python2/lib/python2.7/site-packages/bokeh/client/__init__.py in &lt;module&gt;()
      4 from __future__ import absolute_import
      5 
----&gt; 6 from .session import ClientSession, pull_session, push_session, show_session, DEFAULT_SESSION_ID

/resources/.virtualenv/python2/lib/python2.7/site-packages/bokeh/client/session.py in &lt;module&gt;()
      8 log = logging.getLogger(__name__)
      9 
---&gt; 10 from ._connection import ClientConnection
     11 
     12 from bokeh.resources import ( DEFAULT_SERVER_WEBSOCKET_URL,

/resources/.virtualenv/python2/lib/python2.7/site-packages/bokeh/client/_connection.py in &lt;module&gt;()
      9 log = logging.getLogger(__name__)
     10 
---&gt; 11 from tornado import gen, locks
     12 from tornado.httpclient import HTTPRequest
     13 from tornado.ioloop import IOLoop

ImportError: cannot import name locks
</code></pre>

<p>The weird thing is, I cannot reproduce the error in my own Jupyter with the same version of bokeh, same version tornado, and so on.</p>

<p>Here are the package versions:</p>

<pre><code>bokeh (0.12.0)
tornado (4.3)
</code></pre>

<p>What could possibly cause this error?</p>