title: Trying to deploy a Flask app on CherryPy server
body: <p>I was trying to deploy my Flask app on CherryPy server.  I liked its simplistic and minimalistic nature. </p>
  
  <p>So I PIP'ed CherryPy like below </p>
  
  <pre><code>pip install CherryPy-15.0.0-py2.py3-none-any.whl
  </code></pre>
  
  <p>and wrote script like below -very common suggested by many sources</p>
  
  <pre><code>from cherrypy import wsgiserver
  from hello import app
  
  d = wsgiserver.WSGIPathInfoDispatcher({'/': app})
  server = wsgiserver.CherryPyWSGIServer(('0.0.0.0', 80), d)
  
  if __name__ == '__main__':
     try:
        server.start()
     except KeyboardInterrupt:
        server.stop()
  </code></pre>
  
  <p>To my surprise, I had imports errors.  After a few googling around, I learned that I had to change my import lines to cheroot to make it work.  </p>
  
  <pre><code>from cheroot.wsgi import Server
  from cheroot.wsgi import PathInfoDispatcher
  </code></pre>
  
  <p>Now, my code is working fine.
  However, I am a bit confused if this is the right way of using CherryPy WSGI server or if I pip'ed a wrong version of CherryPy.  I am confused because Cheroot seems to be more than year old (dates all the way back to 2014), yet all the information I found around Flask on CherryPy WSGI server is using <code>from cherrypy import wsgiserver</code>, not <code>from cheroot.wsgi import Server</code>, even the latest postings.  </p>
  
  <p>This makes me unsure if I am doing the right thing or not. </p>
  
  <p>Can someone please shed light on this confusion?</p>