Is Bokeh compatible with Google App Engine?

19 views
Skip to first unread message

joga via StackOverflow

unread,
Jan 22, 2017, 10:09:05 AM1/22/17
to google-appengin...@googlegroups.com

I've been working through this Udacity web dev course and wanted to try embedding a simple bokeh plot into a web page using this example. Running dev_appserver.py gives the error:

ERROR    2017-01-22 14:35:30,358 wsgi.py:263]
Traceback (most recent call last):
  File "C:\Users\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform
\google_appengine\google\appengine\runtime\wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "C:\Users\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform
\google_appengine\google\appengine\runtime\wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "C:\Users\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform
\google_appengine\google\appengine\runtime\wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "C:\Users\Google Drive\Udacity web development 2017\udacit
y-cs253\bokeh\1_docs_example\main.py", line 2, in <module>
    from bokeh.plotting import figure
  File "C:\Users\Google Drive\Udacity web development 2017\udacit
y-cs253\bokeh\1_docs_example\lib\bokeh\plotting\__init__.py", line 2, in <module
>
    from ..document import Document; Document
  File "C:\Users\Google Drive\Udacity web development 2017\udacit
y-cs253\bokeh\1_docs_example\lib\bokeh\document.py", line 45, in <module>
    from .core.json_encoder import serialize_json
  File "C:\Users\Google Drive\Udacity web development 2017\udacit
y-cs253\bokeh\1_docs_example\lib\bokeh\core\json_encoder.py", line 53, in <modul
e>
    NP_MS_DELTA = np.timedelta64(1, 'ms')
TypeError: function takes at most 1 argument (2 given)
INFO     2017-01-22 14:35:30,571 module.py:806] default: "GET / HTTP/1.1" 500 -

I may be wrong but the above error combined with this suggests Bokeh requires NumPy>1.6.1. Specifically it's json_encoder.py that seems to require NumPy>1.6.1.

However Google App Engine only supports NumPy1.6.1. Does this mean Bokeh is effectively not compatible with GAE?

app.yaml:

runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
  script: main.app

libraries:
- name: jinja2
  version: latest
- name: numpy
  version: "1.6.1"


Please DO NOT REPLY directly to this email but go to StackOverflow:
http://stackoverflow.com/questions/41792504/is-bokeh-compatible-with-google-app-engine

bigreddot via StackOverflow

unread,
Jan 23, 2017, 1:34:05 PM1/23/17
to google-appengin...@googlegroups.com

Does this mean Bokeh is effectively not compatible with GAE?

I would say this is a fairly accurate assessment for recent versions, e.g Bokeh 0.12.4. It also appears that the NumPy 1.7.1 requirement goes all the way back to the beginning of the project. However, there was a time when Bokeh depended less on NumPy, so it's possible you might have better luck with older versions of Bokeh and either 1) no NumPy installed, or 2) the older GAE NumPy installed. I can't state this for certain, you'd just have to try and see (YMMV).

I can state that AFAIK no-one on the Bokeh core team has used GAE, so it's not surprising that no-one knew anything about the NumPy limitation there. It's perhaps possible that the NumPy version could be loosened to include 1.6.1. I don't know for sure, it would take some investigation, and there are no guarantees that it would be feasible. We can certainly try to consider it, as time and resources permit, so I'd encourage you to make an issue on the Bokeh project issue tracker. Another reasonable action would be to petition GAE to update their whitelist, as NumPy 1.6.1 is fairly ancient at this point.



Please DO NOT REPLY directly to this email but go to StackOverflow:
http://stackoverflow.com/questions/41792504/is-bokeh-compatible-with-google-app-engine/41813131#41813131
Reply all
Reply to author
Forward
0 new messages