|
From: | Kartik Patel |
Subject: | Re: [Discuss-gnuradio] Playing with gr-bokehgui |
Date: | Tue, 27 Feb 2018 14:41:50 -0600 |
OK, so, I removed the reference to 'resize' in the default tools list. Now, it's complaining about nodejs:On 02/27/2018 02:13 AM, Kartik Patel wrote:
Hello Marcus,
During my testing, I think, I set the time.sleep function by try and error. I didn't check for different PC. I will update it after testing it on my too slow AWS may be.
Also, this resize issue is because Bokeh stopped the support of resize feature. If you can, use Bokeh V0.12.6, and tornado v4.4. I have to Port the code to recent Bokeh version.
Thanks for the extensive verifications. I will try to update the basic suggestions this weekend probably.
On Tue, Feb 27, 2018, 1:06 AM Marcus D. Leech <address@hidden> wrote:
______________________________On 02/27/2018 01:25 AM, Marcus D. Leech wrote:
I can get past this error by setting a longer "time.sleep()" in the generated "main" -- I guess it takes a bit for the server to come up to a state where it can accept connections.On 02/27/2018 12:15 AM, Kartik Patel wrote:
Thanks for the very-prompt response. I know that you're probably very busy.Hello Marcus,
Just for starters, make sure you have v3.7.12 of GNU Radio. In particular, your GR should contain the commit `3c989f9`. Also, make sure you select Bokeh GUI instead of QT GUI in Generate Options field in Options block. For Bokeh GUI we have a different `main()` function template that has necessary procedure to start the server and the stream.
Also, thank you very much for the suggestions about the vector plotter. In addition to the vector plotter, the Histogram plotter and BER curve are also in pipeline. I am too busy with several deadlines and projects. But I will try to incorporate the things as soon as possible (maybe in summer). Sorry for the loong promise!
Let me know if you still have trouble working with the module.
Thanks.
Regards,Kartik Patel
I managed to get to the point of GRC generating the correct startup code, with the "Bokeh GUI". My repo was up-to-date, it's just that I hadn't actually built it. Too many distractions...
But when I got to start now, I get:
Traceback (most recent call last):
File "./top_block.py", line 153, in <module>
main()
File "./top_block.py", line 136, in main
url = "" class="m_3568790170481352733m_-4013897295419667223m_1194434830328231585moz-txt-link-rfc2396E" href="http://localhost:" rel="noreferrer" target="_blank">"http://localhost:" + port + "/bokehgui")
File "/usr/lib/python2.7/site-packages/bokeh/util/api.py", line 190, in wrapper
return obj(*args, **kw)
File "/usr/lib/python2.7/site-packages/bokeh/client/session.py", line 161, in push_session
session.push(document)
File "/usr/lib/python2.7/site-packages/bokeh/util/api.py", line 190, in wrapper
return obj(*args, **kw)
File "/usr/lib/python2.7/site-packages/bokeh/client/session.py", line 370, in push
raise IOError("Cannot push session document because we failed to connect to the server (to start the server, try the 'bokeh serve' command)")
IOError: Cannot push session document because we failed to connect to the server (to start the server, try the 'bokeh serve' command)
But now:
File "./top_block.py", line 140, in main
tb = top_block_cls(doc)
File "./top_block.py", line 65, in __init__
legend_list = legend_list)
File "/usr/local/lib64/python2.7/site-packages/bokehgui/freq_sink _f.py", line 63, in initialize
active_scroll = 'ywheel_zoom', )
File "/usr/lib/python2.7/site-packages/bokeh/plotting/figure.py", line 793, in figure
return Figure(**kwargs)
File "/usr/lib/python2.7/site-packages/bokeh/plotting/figure.py", line 149, in __init__
tool_objs, tool_map = _process_tools_arg(self, opts.tools)
File "/usr/lib/python2.7/site-packages/bokeh/plotting/helpers.py" , line 530, in _process_tools_arg
tool_obj = _tool_from_string(tool)
File "/usr/lib/python2.7/site-packages/bokeh/plotting/helpers.py" , line 467, in _tool_from_string
raise ValueError("unexpected tool name '%s', %s tools are %s" % (name, text, nice_join(matches)))
ValueError: unexpected tool name 'resize', similar tools are reset
_________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
address@hidden ~]$ ./top_block.py
Port is set to 5007
['bokeh', 'serve', '--port', '5007', '--allow-websocket-origin=*', '/usr/local/lib64/python2.7/site-packages/bokehgui/plots/bok ehgui.py']
Port in main is 5007
Pid is 14986
2018-02-27 11:47:54,580 Starting Bokeh server version 0.12.14 (running on Tornado 4.5.3)
2018-02-27 11:47:54,583 Host wildcard '*' will allow connections originating from multiple (or possibly all) hostnames or IPs. Use non-wildcard values to restrict access explicitly
2018-02-27 11:47:54,594 Bokeh app running at: http://localhost:5007/bokehgui
2018-02-27 11:47:54,594 Starting Bokeh server with process id: 14986
2018-02-27 11:47:55,039 101 GET /bokehgui/ws?bokeh-protocol-version=1.0&bokeh-session-id=top _block (127.0.0.1) 2.38ms
2018-02-27 11:47:55,039 WebSocket connection opened
2018-02-27 11:47:55,045 ServerConnection created
INFO: Audio sink arch: alsa
/usr/lib/python2.7/site-packages/bokeh/client/session.py: 316: UserWarning:
!!!! PLEASE NOTE !!!!
The use of `session.loop_until_closed` and `push_session` to run Bokeh
application code outside a Bokeh server is **HIGHLY DISCOURAGED** for any real
use.
Running application code outside a Bokeh server with bokeh.client in this way
has (and always will have) several intrinsic drawbacks:
* Fast binary array transport is NOT available! Base64 fallback is much slower
* All network traffic is DOUBLED due to extra hop between client and server
* Server *and* client process must be running at ALL TIMES for callbacks to work
* App code run outside the Bokeh server is NOT SCALABLE behind a load balancer
The bokeh.client API is recommended to use ONLY for testing, or for customizing
individual sessions running in a full Bokeh server, before passing on to viewers.
For information about different ways of running apps in a Bokeh server, see:
http://bokeh.pydata.org/en/latest/docs/user_guide/server.htm l
warnings.warn(_BOKEH_CLIENT_APP_WARNING_FULL)
2018-02-27 11:48:02,506 Uncaught exception GET /bokehgui?bokeh-session-id=top_block (127.0.0.1)
HTTPServerRequest(protocol='http', host='localhost:5006', method='GET', uri='/bokehgui?bokeh-session-i d=top_block', version='HTTP/1.1', remote_ip='127.0.0.1', headers={'Accept-Language': 'en-US,en;q=0.5', 'Accept-Encoding': 'gzip, deflate', 'Host': 'localhost:5006', 'Accept': 'text/html,application/xhtml+x ml,application/xml;q=0.9,*/*;q =0.8', 'User-Agent': 'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0', 'Connection': 'keep-alive'})
Traceback (most recent call last):
File "/usr/lib64/python2.7/site-packages/tornado/web.py", line 1512, in _execute
result = yield result
File "/usr/lib64/python2.7/site-packages/tornado/gen.py", line 1055, in run
value = future.result()
File "/usr/lib64/python2.7/site-packages/tornado/concurrent.py", line 238, in result
raise_exc_info(self._exc_info)
File "/usr/lib64/python2.7/site-packages/tornado/gen.py", line 1069, in run
yielded = self.gen.send(value)
File "/usr/lib/python2.7/site-packages/bokeh/server/views/doc_ handler.py", line 26, in get
template_variables=session.document.template_variables)
File "/usr/lib/python2.7/site-packages/bokeh/util/api.py", line 190, in wrapper File "/usr/lib/python2.7/site-packa
return obj(*args, **kw)ges/bokeh/embed/server.py", line 231, in server_html_page_for_session
return html_page_for_render_items(bundle, {}, render_items, title, template=template, template_variables=template_va riables)
File "/usr/lib/python2.7/site-packages/bokeh/util/api.py", line 190, in wrapper File "/usr/lib/python2.7/site-packa
return obj(*args, **kw)ges/bokeh/embed/util.py", line 147, in html_page_for_render_items
script = bundle_all_models()
File "/usr/lib/python2.7/site-packages/bokeh/util/compiler.py", line 514, in bundle_all_models
_bundle_cache[key] = bundle = bundle_models(Model.model_class_reverse_map.values()) or ""
File "/usr/lib/python2.7/site-packages/bokeh/util/compiler.py", line 400, in bundle_models
compiled = nodejs_compile(impl.code, lang=impl.lang, file=impl.file)
File "/usr/lib/python2.7/site-packages/bokeh/util/compiler.py", line 189, in nodejs_compile
output = _run_nodejs([compilejs_script], dict(code=code, lang=lang, file=file))
File "/usr/lib/python2.7/site-packages/bokeh/util/compiler.py", line 168, in _run_nodejs
return _run(_nodejs_path(), argv, input)
File "/usr/lib/python2.7/site-packages/bokeh/util/compiler.py", line 149, in _nodejs_path
_nodejs = _detect_nodejs()
File "/usr/lib/python2.7/site-packages/bokeh/util/compiler.py", line 141, in _detect_nodejs
'("conda install nodejs" or follow https://nodejs.org/en/download/ )')
RuntimeError: node.js v6.10.0 or higher is needed to allow compilation of custom models ("conda install nodejs" or follow https://nodejs.org/en/download/ )
2018-02-27 11:48:02,510 500 GET /bokehgui?bokeh-session-id=top_block (127.0.0.1) 71.08ms
[Prev in Thread] | Current Thread | [Next in Thread] |