If you do grunt deploy
inside the bokehjs, it is not working too?
···
On Fri, Apr 4, 2014 at 11:53 AM, Felix Breuer [email protected] wrote:
felix:bokeh/ |master ✗|$ python setup.py develop --deploy
deploying bokehjs…
ERROR: could not deploy bokehjsNo further output is provided. I also tried:
felix:bokeh/ |master ✗|$ python setup.py develop
Traceback (most recent call last):
File “setup.py”, line 198, in
shutil.copy(app, join(SERVER, ‘static’, ‘js’))File “/Users/felix/anaconda/envs/clean/lib/python2.7/shutil.py”, line 119, in copy
copyfile(src, dst)
File “/Users/felix/anaconda/envs/clean/lib/python2.7/shutil.py”, line 82, in copyfilewith open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: ‘bokehjs/build/js/bokeh.js’
Both of these errors persisted even after I did
felix:bokeh/ |master ✗|$ cd bokehjs/
felix:bokehjs/ npm install -g grunt-cli
felix:bokehjs/ |master ✗| npm install felix:bokehjs/ |master ✗| grunt buildwhich all finished successfully.
Felix
On Friday, April 4, 2014 1:32:30 PM UTC+2, Damian Avila wrote:
Felix, try using the develop option, I mean:
python setup.py develop --deploy
I was thinking in develop, but I wrote install… grrr… sorry about that… give it a try a let me know…
On Thu, Apr 3, 2014 at 3:06 PM, Felix Breuer [email protected] wrote:
Hello Damian,
here is how to reproduce the issue. Start from the Vagrant virtual machine specified here:
https://github.com/fbreuer/ipython-vagrant
This includes bokeh and ipython as available via pip. After provisioning is done, ssh into the machine and run
sudo pip uninstall bokeh
git clone https://github.com/ContinuumIO/bokeh.git
cd bokeh
sudo python setup.py install --deployYou will see the error I posted earlier:
Installing bokeh…
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: ‘zip_safe’
warnings.warn(msg)
/usr/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: ‘install_requires’warnings.warn(msg)
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] …]
or: setup.py --help [cmd1 cmd2 …]
or: setup.py --help-commands
or: setup.py cmd --helperror: option --deploy not recognized
Hope this helps,
FelixOn Thursday, April 3, 2014 2:24:54 PM UTC+2, Damian Avila wrote:
OK, git is picking up the last master version, the problem has to be in another place… probably your environments… can you describe exactly how do you build it? So I can reproduce the issue…
On Thu, Apr 3, 2014 at 4:58 AM, Felix Breuer [email protected] wrote:
I tried the same thing again today, with same effects. Output of git show --summary is
felix:bokeh/ |master ✓|$ git show --summary
commit 68457a7a552fca25e08fb1407dfadf78e950c061Merge: 5a6751e 2d8ac3d
Author: Damin Avila [email protected]
Date: Wed Apr 2 23:20:13 2014 -0300
Merge pull request #476 from damianavila/setup2 Supersede: Templated setup.py.
On Wednesday, April 2, 2014 8:27:05 PM UTC+2, Damian Avila wrote:
This is weird, current master support --deploy option since at least one week: https://github.com/ContinuumIO/bokeh/blob/master/setup.py#L41
git clone is picking up an old version???
what is the output of git show --summary?
On Wed, Apr 2, 2014 at 2:57 PM, Felix Breuer [email protected] wrote:
Thank for the quick reply! But again, I seem to be missing something:
felix:sources/ $ git clone https://github.com/ContinuumIO/bokeh
Cloning into ‘bokeh’…
remote: Reusing existing pack: 32938, done.
remote: Counting objects: 63, done.
remote: Compressing objects: 100% (63/63), done.
remote: Total 33001 (delta 33), reused 0 (delta 0)Receiving objects: 100% (33001/33001), 81.06 MiB | 871.00 KiB/s, done.
Resolving deltas: 100% (17966/17966), done.
Checking connectivity… done.
felix:sources/ cd bokeh/ felix:bokeh/ |master ✓| source activate cleandiscarding /Users/felix/anaconda/envs/clean/bin from PATH
prepending /Users/felix/anaconda/envs/clean/bin to PATH
felix:bokeh/ |master ✓|$ python setup.py build
…felix:bokeh/ |master ✓|$ python setup.py install --deploy
installing bokeh, bokeh.pth was not found, so we did not clean it
/Users/felix/anaconda/envs/clean/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: ‘zip_safe’warnings.warn(msg)
/Users/felix/anaconda/envs/clean/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: ‘install_requires’
warnings.warn(msg)
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] …]or: setup.py --help [cmd1 cmd2 …]
or: setup.py --help-commands
or: setup.py cmd --helperror: option --deploy not recognized
On Wednesday, April 2, 2014 7:25:05 PM UTC+2, Damian Avila wrote:
If you are installing from source just do:
python setup.py install --deploy
and check again…
On Wed, Apr 2, 2014 at 2:17 PM, Felix Breuer [email protected] wrote:
Okay, IPython is now picking up bokeh version 0.4.2-232-g0cec716 as it should, even though I have no idea what I did do differently.
However, now the plots stopped working as I get the error message:
Javascript error adding output!
./base: Unknown Collection BasicTickFormatter
See your browser Javascript console for more details.
The Javascript console unfortunately does not provide much more details:
Kernel started: 60c66b37-2dac-438b-a386-46a3a2af57a2
kernel.js (line 110)
Starting WebSockets: ws://127.0.0.1:8888/kernels/60c66b37-2dac-438b-a386-46a3a2af57a2
kernel.js (line 143)
cfadb543-321c-493a-b216-29ee6e340270 Plot e2c29f78-93be-42bb-aab3-44da5749d356
jquery.min.js (line 8)
calling require source/column_data_source
jquery.min.js (line 86)
calling require range/data_range1d
jquery.min.js (line 86)
./base: Unknown Collection BasicTickFormatter
outputarea.js (line 338)
Javascript error adding output! ./base: Unknown Collection BasicTickFormatter
I tried starting bokeh-server with options -d -v -s -j and various subsets thereof, but did not achieve a different behavior or more information on the problem. On github I found a related issue recommending that I should “redeploy”, however I do not know what is meant by that.
Thanks,
FelixOn Tuesday, April 1, 2014 11:31:34 AM UTC+2, Bryan Van de ven wrote:
Felix is it possible that python and ipython are in different environments? Maybe ipython is only installed in the root env and that’s what gets picked up on your path? (Has happened to me)
On Apr 1, 2014, at 10:20, Felix Breuer [email protected] wrote:
Bryan,
I keep running into the strange phenomenon that IPython and Python “see” a different version of bokeh. I cannot get IPython to pick up on a version of bokeh installed via python setup.py install, even under a clean conda environment.
I will next try the same thing on a virtual machine and try to come up with a reproducible test case, possibly via Vagrant.
Felix
On Saturday, March 29, 2014 12:08:46 PM UTC+1, Bryan Van de ven wrote:
Felix,
The list of dependencies has a few platform specific cases. You can find them all listed in REQUIRES in setup.py.
If you are using conda, I would suggest:$ conda install bokeh # will grab deps too $ conda remove bokeh
Suddenly seems like an option to install a packages reps but not the package itself would be good. (Maybe it already exists) You can also use pip normally with the requirements.txt file:
$ pip install -r requirements.txt
which would work in a conda env, for instance.
I typically just do “conda remove bokeh” before I do “python setup.py develop” or “python setup.py install”
Bryan
On Mar 29, 2014, at 11:57 AM, Felix Breuer [email protected] wrote:
When installing bokeh from git via
python setup.py install
into an activated conda environment, how can I make sure that all the dependencies are installed?
Thanks,
Felix
On Saturday, March 29, 2014 1:00:45 AM UTC+1, Bryan Van de ven wrote:
Felix,
You can try that, or also could try “conda remove bokeh” before installing again from source. I just did a scan of the source to double check, that function “recursively_traverse_plot_object” has been completely removed, so if you are still seeing the exact same problem it’s definitely not picking up the source install version. Let us know how things go tomorrow.
Bryan
On Mar 29, 2014, at 12:53 AM, Felix Breuer [email protected] wrote:
Hm, checking bokeh.version from python gives
0.4.2-230-geafec45-dirty.
However, under IPython I get
unknown
as the result of bokeh.version.
Don’t know what is going on there. I can try setting up a fresh conda environment and test there, but that will have to wait until tomorrow.
Felix
On Saturday, March 29, 2014 12:44:12 AM UTC+1, Bryan Van de ven wrote:
What does python -c “import bokeh; print bokeh.version” return?If you have master installed from github it should be something similar (but maybe not identical) to “0.4.2-182-g758a7aa”
Bryan
On Mar 29, 2014, at 12:41 AM, Felix Breuer [email protected] wrote:
Hm, I just cloned the git repo, did python setup.py install and then restarted the notebook server: the same problem still shows.
Is there an easy way to check if I have successfully upgraded bokeh?
Felix
On Friday, March 28, 2014 9:31:34 PM UTC+1, Mateusz Paprocki wrote:
Hi,On Fri, Mar 28, 2014 at 4:12 PM, [email protected] wrote:
Hello everyone,I am using bokeh to generate plots within an IPython Notebook. When the total number of plots that I have produced grows large (~50) and the larger of the plots contain many objects (say ~1000 circles), then a “maximal recursion depth reached” exception is thrown. The traceback is reproduced below.
The curious thing is that, even though the recursion seems tied to the objects contained within a given plot, this error only gets thrown when there are many plots in the notebook. Just plotting the last polt (which throws the exception) on its own works fine.
I am using bokeh 0.4.2.
Any ideas what exactly is going on and how to fix this?
Thanks for bug report. It looks like what you’re experiencing is a know bug in Bokeh <= 0.4.2, which was fixed in development version [1]. You can either use this or wait for 0.5 release scheduled for next week. It would be great if you could give us feedback whether development version works for you.
Felix
RuntimeError
Traceback (most recent call last)in ()
5 if len(list(partitions(n))) > 0:
6 print “n = %d, m = %d, k = %d, i = %d” % (n,m,k,i)
----> 7 show_partitions(n,m,title=“n = %d, m = %d, k = %d, i = %d” % (n,m,k,i))in show_partitions(n, m, small_circles, title)
49 plot.y_range = plot.x_range.clone()
50
—> 51 show()/Library/Python/2.7/site-packages/bokeh/plotting.pyc in show(browser, new)
336 controller.open(_config[“output_url”] + “/bokeh”, new=new_param)
337 elif output_type == “notebook”:
→ 338 session.show(curplot())
339
340 def save(filename=None):/Library/Python/2.7/site-packages/bokeh/session/notebook_sessions.pyc in show(self, *objects)
38
“”"39 import IPython.core.displaypub as displaypub
—> 40 displaypub.publish_display_data(‘bokeh’, {‘text/html’: self.dumps(*objects)})
41
42/Library/Python/2.7/site-packages/bokeh/session/notebook_sessions.pyc in dumps(self, *objects)
58 modelid = plot_ref[“id”],
59 modeltype = plot_ref[“type”],
—> 60 all_models = self.serialize_models(objects)
)61 62 plot_div = self._load_template(self.div_template).render(elementid=elementid)
/Library/Python/2.7/site-packages/bokeh/session/base_json_session.pyc in serialize_models(self, objects, **jsonkwargs)
80
81 def serialize_models(self, objects=None, **jsonkwargs):
—> 82 return self.serialize(self.convert_models(objects), **jsonkwargs)
83/Library/Python/2.7/site-packages/bokeh/session/base_json_session.pyc in convert_models(self, to_convert)
66 all = set(to_convert)
67 for model in to_convert:
—> 68 children = recursively_traverse_plot_object(model)
69 all.update(children)
70/Library/Python/2.7/site-packages/bokeh/objects.pyc in recursively_traverse_plot_object(plot_object, traversed_ids, children)
155 child,
156 traversed_ids=traversed_ids,
→ 157
children=children)158 return children 159
/Library/Python/2.7/site-packages/bokeh/objects.pyc in recursively_traverse_plot_object(plot_object, traversed_ids, children)
155 child,
156 traversed_ids=traversed_ids,
→ 157
children=children)158 return children 159
… and so on recursively …
/Library/Python/2.7/site-packages/bokeh/objects.pyc in recursively_traverse_plot_object(plot_object, traversed_ids, children)
146 return children
147 else:
→ 148 immediate_children = plot_object.references()
149 children.add(plot_object)
150 traversed_ids.add(plot_object._id)/Library/Python/2.7/site-packages/bokeh/objects.pyc in references(self)
224
“”"Returns all PlotObjects that this object has references to225 """
→ 226 return traverse_plot_object(self)
227
228 #---------------------------------------------------------------------/Library/Python/2.7/site-packages/bokeh/objects.pyc in traverse_plot_object(plot_object)
133 children.add(obj)
134 return obj
→ 135 for prop in plot_object.properties_with_refs():
136 val = getattr(plot_object, prop)
137 json_apply(val, check_func, func)/Library/Python/2.7/site-packages/bokeh/properties.pyc in properties_with_refs(cls)
547 if not hasattr(cls, “__cached_allprops_with_refs”):
548 s = accumulate_from_subclasses(
cls,→ 549
“properties_with_refs”)550 cls.__cached_allprops_with_refs = s 551 return cls.__cached_allprops_with_refs
/Library/Python/2.7/site-packages/bokeh/properties.pyc in accumulate_from_subclasses(cls, propname)
500 s = set()
501 for c in inspect.getmro(cls):
→ 502 if issubclass(c, HasProps):
503 s.update(getattr(c, propname))
504 return sRuntimeError: maximum recursion depth exceeded while calling a Python object
–
You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/45759ca6-9c09-40a9-b1b6-fdeb1c04f609%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.Mateusz
–
You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/ea75b03e-ab89-463b-a71e-2cd9c2dad63d%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.–
You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/1a003872-0452-4c85-8239-12f79a8d61e1%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.–
You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/a39f881a-a5c6-451a-8e40-9b8658f5ae8f%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.
–
You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/47188705-fd51-4331-96bc-d0159b318cfe%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.
–
You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/aeaf1f82-8d41-4f00-a33b-870e478d9cf5%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.
–
You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/6ae0ec2e-1558-45a8-879b-9f11c0447c6c%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.
–
You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/bf2c5c18-b414-4faa-b512-f30e814f962a%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.
–
You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/a9b637f4-be46-49b2-88a4-cbad460163f9%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.
–
You received this message because you are subscribed to the Google Groups “Bokeh Discussion - Public” group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit https://groups.google.com/a/continuum.io/d/msgid/bokeh/d619887b-1751-4ec1-b239-ba72c059fcc0%40continuum.io.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.