2017-01-22 2 views
1

Я работал над этим Udacity web dev course и хотел попробовать вставить простой участок bokeh в веб-страницу, используя this example. Запуск dev_appserver.py выдает ошибку:Совместим ли Bokeh с Google App Engine?

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 - 

Я могу ошибаться, но выше ошибка в сочетании с this предлагает Bokeh требует NumPy> 1.6.1. В частности, это json_encoder.py, который, как представляется, требует NumPy> 1.6.1.

Однако Google App Engine only supports NumPy1.6.1. Означает ли это, что Bokeh фактически несовместим с 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" 

ответ

1

Does this mean Bokeh is effectively not compatible with GAE?

Я бы сказал, что это достаточно точная оценка для последних версий, например Bokeh 0.12.4. Также представляется, что требование NumPy 1.7.1 полностью возвращается к началу проекта. Тем не менее, было время, когда Bokeh меньше зависело от NumPy, поэтому вам может быть повезло с более старыми версиями Bokeh и либо 1) нет NumPy, либо 2) установленным более старым GAE NumPy. Я не могу сказать это наверняка, вам просто нужно попытаться посмотреть (YMMV).

Я могу заявить, что никто из AFAIK в основной команде Bokeh не использовал GAE, поэтому неудивительно, что никто не знал ничего о ограничении NumPy. Возможно, возможно, что версия NumPy может быть ослаблена, включая 1.6.1. Я не знаю точно, это потребует некоторого расследования, и нет никаких гарантий, что это будет осуществимо. Мы можем, конечно, попытаться рассмотреть его, как позволяют время и ресурсы, поэтому я бы посоветовал вам сделать вопрос на Bokeh project issue tracker. Другим разумным действием было бы просить GAE обновить свой белый список, так как NumPy 1.6.1 довольно древний на данный момент.