troubles installing npm

Hi all,
sorry in advance if i am opening a new post. I have already check previous posts but i have found anything relating to this isssue. I notice i have some problem when i am running bokeh code from cmd.
I used this command python -m bokeh info to check if my reqs are ok but looks like npm is not running ok.

Do you might have any suggestion??

many thanks in advance!

I think this prevents me to see any output in the browser

Hi,

You are running in to this issue:

  npm detection doesn't work on windows (in native console) · Issue #6462 · bokeh/bokeh · GitHub

However "npm" is purely optional dependency. Unless you are:

* doing development on core BokehJS directly
* creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with "bokeh info" is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

···

On Nov 23, 2017, at 07:19, Andrea Tagliabue <[email protected]> wrote:

I think this prevents me to see any output in the browser

--
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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io\.
For more options, visit https://groups.google.com/a/continuum.io/d/optout\.
<test.png>

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

···

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

also i am getting errors when i am trying to use version from util

···

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

···

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

···

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene
···

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

yes it does.

class Template(metaclass=_TemplateMetaclass):

“”“A string class for supporting $-substitutions.”“”

delimiter = ‘$’

idpattern = r’[_a-z][_a-z0-9]*’

flags = _re.IGNORECASE

def init(self, template):

self.template = template

Search for $$, identifier, {identifier}, and any bare $'s

def _invalid(self, mo):

i = mo.start(‘invalid’)

lines = self.template[:i].splitlines(keepends=True)

if not lines:

colno = 1

lineno = 1

else:

colno = i - len(‘’.join(lines[:-1]))

lineno = len(lines)

raise ValueError(‘Invalid placeholder in string: line %d, col %d’ %

(lineno, colno))

def substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

Check the most common path first.

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

return str(mapping[named])

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

self._invalid(mo)

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

def safe_substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘safe_substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

try:

return str(mapping[named])

except KeyError:

return mo.group()

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

return mo.group()

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

···

On 28 November 2017 at 08:05, Eugene Pakhomov [email protected] wrote:

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%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/034b6247-ed74-4063-986a-8387ef1bccc2%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Ah, the last thing - did you execute the code that I’ve sent you earlier in the same interpreter where you got that error or in some other?
If in some other, try to execute where you got the error.

If nothing becomes clear after that, I would suggest starting with Anaconda from scratch - remove your current installation (provided, you don’t have anything of value there), install Anaconda again, create a conda environment for experimentation, install Bokeh and so on.

  • Eugene
···

On Tuesday, November 28, 2017 at 2:10:18 PM UTC+7, Andrea Tagliabue wrote:

yes it does.

class Template(metaclass=_TemplateMetaclass):

“”“A string class for supporting $-substitutions.”“”

delimiter = ‘$’

idpattern = r’[_a-z][_a-z0-9]*’

flags = _re.IGNORECASE

def init(self, template):

self.template = template

Search for $$, identifier, {identifier}, and any bare $'s

def _invalid(self, mo):

i = mo.start(‘invalid’)

lines = self.template[:i].splitlines(keepends=True)

if not lines:

colno = 1

lineno = 1

else:

colno = i - len(‘’.join(lines[:-1]))

lineno = len(lines)

raise ValueError(‘Invalid placeholder in string: line %d, col %d’ %

(lineno, colno))

def substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

Check the most common path first.

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

return str(mapping[named])

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

self._invalid(mo)

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

def safe_substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘safe_substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

try:

return str(mapping[named])

except KeyError:

return mo.group()

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

return mo.group()

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

On 28 November 2017 at 08:05, Eugene Pakhomov [email protected] wrote:

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%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/034b6247-ed74-4063-986a-8387ef1bccc2%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

OMG now i have no errors


i do not understand what’s going on


Virus-free. www.avast.com

···

On 28 November 2017 at 08:13, Eugene Pakhomov [email protected] wrote:

Ah, the last thing - did you execute the code that I’ve sent you earlier in the same interpreter where you got that error or in some other?
If in some other, try to execute where you got the error.

If nothing becomes clear after that, I would suggest starting with Anaconda from scratch - remove your current installation (provided, you don’t have anything of value there), install Anaconda again, create a conda environment for experimentation, install Bokeh and so on.

  • Eugene

On Tuesday, November 28, 2017 at 2:10:18 PM UTC+7, Andrea Tagliabue wrote:

yes it does.

class Template(metaclass=_TemplateMetaclass):

“”“A string class for supporting $-substitutions.”“”

delimiter = ‘$’

idpattern = r’[_a-z][_a-z0-9]*’

flags = _re.IGNORECASE

def init(self, template):

self.template = template

Search for $$, identifier, {identifier}, and any bare $'s

def _invalid(self, mo):

i = mo.start(‘invalid’)

lines = self.template[:i].splitlines(keepends=True)

if not lines:

colno = 1

lineno = 1

else:

colno = i - len(‘’.join(lines[:-1]))

lineno = len(lines)

raise ValueError(‘Invalid placeholder in string: line %d, col %d’ %

(lineno, colno))

def substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

Check the most common path first.

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

return str(mapping[named])

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

self._invalid(mo)

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

def safe_substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘safe_substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

try:

return str(mapping[named])

except KeyError:

return mo.group()

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

return mo.group()

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

On 28 November 2017 at 08:05, Eugene Pakhomov [email protected] wrote:

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%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/034b6247-ed74-4063-986a-8387ef1bccc2%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/423be6dc-755a-4e27-85df-6bfbe3e917f1%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Probably that interpreter was started under a different PYTHONPATH. Or maybe something else.
But if the error won’t come back, its cause doesn’t really matter.

So, regarding the error that you’ve seen after the Bryan’s message. You have an installation of Node.js that doesn’t include npm.

You can try installing Node.js from conda: “conda install nodejs”.

But make sure that you either use a conda environment for all your work on a single project (preferrable), or at least that your Anaconda’s PATH (not sure what’s that on Windows) is the first in the Windows PATH environment variable in the shell and other programs where you work.

  • Eugene
···

On Tuesday, November 28, 2017 at 2:19:19 PM UTC+7, Andrea Tagliabue wrote:

OMG now i have no errors


i do not understand what’s going on


Virus-free. www.avast.com

On 28 November 2017 at 08:13, Eugene Pakhomov [email protected] wrote:

Ah, the last thing - did you execute the code that I’ve sent you earlier in the same interpreter where you got that error or in some other?
If in some other, try to execute where you got the error.

If nothing becomes clear after that, I would suggest starting with Anaconda from scratch - remove your current installation (provided, you don’t have anything of value there), install Anaconda again, create a conda environment for experimentation, install Bokeh and so on.

  • Eugene

On Tuesday, November 28, 2017 at 2:10:18 PM UTC+7, Andrea Tagliabue wrote:

yes it does.

class Template(metaclass=_TemplateMetaclass):

“”“A string class for supporting $-substitutions.”“”

delimiter = ‘$’

idpattern = r’[_a-z][_a-z0-9]*’

flags = _re.IGNORECASE

def init(self, template):

self.template = template

Search for $$, identifier, {identifier}, and any bare $'s

def _invalid(self, mo):

i = mo.start(‘invalid’)

lines = self.template[:i].splitlines(keepends=True)

if not lines:

colno = 1

lineno = 1

else:

colno = i - len(‘’.join(lines[:-1]))

lineno = len(lines)

raise ValueError(‘Invalid placeholder in string: line %d, col %d’ %

(lineno, colno))

def substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

Check the most common path first.

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

return str(mapping[named])

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

self._invalid(mo)

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

def safe_substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘safe_substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

try:

return str(mapping[named])

except KeyError:

return mo.group()

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

return mo.group()

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

On 28 November 2017 at 08:05, Eugene Pakhomov [email protected] wrote:

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%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/034b6247-ed74-4063-986a-8387ef1bccc2%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/423be6dc-755a-4e27-85df-6bfbe3e917f1%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi all,
i have reinstalled anaconda but still the same problem for npm package.

can’t figure out what’s missing

Andrea


Virus-free. www.avast.com

···

On 28 November 2017 at 08:31, Eugene Pakhomov [email protected] wrote:

Probably that interpreter was started under a different PYTHONPATH. Or maybe something else.
But if the error won’t come back, its cause doesn’t really matter.

So, regarding the error that you’ve seen after the Bryan’s message. You have an installation of Node.js that doesn’t include npm.

You can try installing Node.js from conda: “conda install nodejs”.

But make sure that you either use a conda environment for all your work on a single project (preferrable), or at least that your Anaconda’s PATH (not sure what’s that on Windows) is the first in the Windows PATH environment variable in the shell and other programs where you work.

  • Eugene

On Tuesday, November 28, 2017 at 2:19:19 PM UTC+7, Andrea Tagliabue wrote:

OMG now i have no errors


i do not understand what’s going on


Virus-free. www.avast.com

On 28 November 2017 at 08:13, Eugene Pakhomov [email protected] wrote:

Ah, the last thing - did you execute the code that I’ve sent you earlier in the same interpreter where you got that error or in some other?
If in some other, try to execute where you got the error.

If nothing becomes clear after that, I would suggest starting with Anaconda from scratch - remove your current installation (provided, you don’t have anything of value there), install Anaconda again, create a conda environment for experimentation, install Bokeh and so on.

  • Eugene

On Tuesday, November 28, 2017 at 2:10:18 PM UTC+7, Andrea Tagliabue wrote:

yes it does.

class Template(metaclass=_TemplateMetaclass):

“”“A string class for supporting $-substitutions.”“”

delimiter = ‘$’

idpattern = r’[_a-z][_a-z0-9]*’

flags = _re.IGNORECASE

def init(self, template):

self.template = template

Search for $$, identifier, {identifier}, and any bare $'s

def _invalid(self, mo):

i = mo.start(‘invalid’)

lines = self.template[:i].splitlines(keepends=True)

if not lines:

colno = 1

lineno = 1

else:

colno = i - len(‘’.join(lines[:-1]))

lineno = len(lines)

raise ValueError(‘Invalid placeholder in string: line %d, col %d’ %

(lineno, colno))

def substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

Check the most common path first.

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

return str(mapping[named])

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

self._invalid(mo)

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

def safe_substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘safe_substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

try:

return str(mapping[named])

except KeyError:

return mo.group()

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

return mo.group()

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

On 28 November 2017 at 08:05, Eugene Pakhomov [email protected] wrote:

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%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/034b6247-ed74-4063-986a-8387ef1bccc2%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/423be6dc-755a-4e27-85df-6bfbe3e917f1%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/bd3a1504-3ebc-4217-aa83-7870338f0f82%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hmm, with your help I actually found out that it’s an issue with either Bokeh or Node.js Anaconda distribution for Windows. I created an issue: Npm detection on Windows x64 fails · Issue #7259 · bokeh/bokeh · GitHub

As as workaround, you can try to install Node.js from conda-forge channel instead: “conda install -c conda-forge nodejs”.

  • Eugene
···

On Tuesday, November 28, 2017 at 3:36:25 PM UTC+7, Andrea Tagliabue wrote:

Hi all,
i have reinstalled anaconda but still the same problem for npm package.

can’t figure out what’s missing

Andrea


Virus-free. www.avast.com

On 28 November 2017 at 08:31, Eugene Pakhomov [email protected] wrote:

Probably that interpreter was started under a different PYTHONPATH. Or maybe something else.
But if the error won’t come back, its cause doesn’t really matter.

So, regarding the error that you’ve seen after the Bryan’s message. You have an installation of Node.js that doesn’t include npm.

You can try installing Node.js from conda: “conda install nodejs”.

But make sure that you either use a conda environment for all your work on a single project (preferrable), or at least that your Anaconda’s PATH (not sure what’s that on Windows) is the first in the Windows PATH environment variable in the shell and other programs where you work.

  • Eugene

On Tuesday, November 28, 2017 at 2:19:19 PM UTC+7, Andrea Tagliabue wrote:

OMG now i have no errors


i do not understand what’s going on


Virus-free. www.avast.com

On 28 November 2017 at 08:13, Eugene Pakhomov [email protected] wrote:

Ah, the last thing - did you execute the code that I’ve sent you earlier in the same interpreter where you got that error or in some other?
If in some other, try to execute where you got the error.

If nothing becomes clear after that, I would suggest starting with Anaconda from scratch - remove your current installation (provided, you don’t have anything of value there), install Anaconda again, create a conda environment for experimentation, install Bokeh and so on.

  • Eugene

On Tuesday, November 28, 2017 at 2:10:18 PM UTC+7, Andrea Tagliabue wrote:

yes it does.

class Template(metaclass=_TemplateMetaclass):

“”“A string class for supporting $-substitutions.”“”

delimiter = ‘$’

idpattern = r’[_a-z][_a-z0-9]*’

flags = _re.IGNORECASE

def init(self, template):

self.template = template

Search for $$, identifier, {identifier}, and any bare $'s

def _invalid(self, mo):

i = mo.start(‘invalid’)

lines = self.template[:i].splitlines(keepends=True)

if not lines:

colno = 1

lineno = 1

else:

colno = i - len(‘’.join(lines[:-1]))

lineno = len(lines)

raise ValueError(‘Invalid placeholder in string: line %d, col %d’ %

(lineno, colno))

def substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

Check the most common path first.

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

return str(mapping[named])

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

self._invalid(mo)

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

def safe_substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘safe_substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

try:

return str(mapping[named])

except KeyError:

return mo.group()

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

return mo.group()

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

On 28 November 2017 at 08:05, Eugene Pakhomov [email protected] wrote:

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%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/034b6247-ed74-4063-986a-8387ef1bccc2%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/423be6dc-755a-4e27-85df-6bfbe3e917f1%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/bd3a1504-3ebc-4217-aa83-7870338f0f82%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

unfortunately same outcome


Virus-free. www.avast.com

···

On 28 November 2017 at 10:03, Eugene Pakhomov [email protected] wrote:

Hmm, with your help I actually found out that it’s an issue with either Bokeh or Node.js Anaconda distribution for Windows. I created an issue: https://github.com/bokeh/bokeh/issues/7259

As as workaround, you can try to install Node.js from conda-forge channel instead: “conda install -c conda-forge nodejs”.

  • Eugene

On Tuesday, November 28, 2017 at 3:36:25 PM UTC+7, Andrea Tagliabue wrote:

Hi all,
i have reinstalled anaconda but still the same problem for npm package.

can’t figure out what’s missing

Andrea


Virus-free. www.avast.com

On 28 November 2017 at 08:31, Eugene Pakhomov [email protected] wrote:

Probably that interpreter was started under a different PYTHONPATH. Or maybe something else.
But if the error won’t come back, its cause doesn’t really matter.

So, regarding the error that you’ve seen after the Bryan’s message. You have an installation of Node.js that doesn’t include npm.

You can try installing Node.js from conda: “conda install nodejs”.

But make sure that you either use a conda environment for all your work on a single project (preferrable), or at least that your Anaconda’s PATH (not sure what’s that on Windows) is the first in the Windows PATH environment variable in the shell and other programs where you work.

  • Eugene

On Tuesday, November 28, 2017 at 2:19:19 PM UTC+7, Andrea Tagliabue wrote:

OMG now i have no errors


i do not understand what’s going on


Virus-free. www.avast.com

On 28 November 2017 at 08:13, Eugene Pakhomov [email protected] wrote:

Ah, the last thing - did you execute the code that I’ve sent you earlier in the same interpreter where you got that error or in some other?
If in some other, try to execute where you got the error.

If nothing becomes clear after that, I would suggest starting with Anaconda from scratch - remove your current installation (provided, you don’t have anything of value there), install Anaconda again, create a conda environment for experimentation, install Bokeh and so on.

  • Eugene

On Tuesday, November 28, 2017 at 2:10:18 PM UTC+7, Andrea Tagliabue wrote:

yes it does.

class Template(metaclass=_TemplateMetaclass):

“”“A string class for supporting $-substitutions.”“”

delimiter = ‘$’

idpattern = r’[_a-z][_a-z0-9]*’

flags = _re.IGNORECASE

def init(self, template):

self.template = template

Search for $$, identifier, {identifier}, and any bare $'s

def _invalid(self, mo):

i = mo.start(‘invalid’)

lines = self.template[:i].splitlines(keepends=True)

if not lines:

colno = 1

lineno = 1

else:

colno = i - len(‘’.join(lines[:-1]))

lineno = len(lines)

raise ValueError(‘Invalid placeholder in string: line %d, col %d’ %

(lineno, colno))

def substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

Check the most common path first.

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

return str(mapping[named])

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

self._invalid(mo)

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

def safe_substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘safe_substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

try:

return str(mapping[named])

except KeyError:

return mo.group()

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

return mo.group()

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

On 28 November 2017 at 08:05, Eugene Pakhomov [email protected] wrote:

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%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/034b6247-ed74-4063-986a-8387ef1bccc2%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/423be6dc-755a-4e27-85df-6bfbe3e917f1%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/bd3a1504-3ebc-4217-aa83-7870338f0f82%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/6dcabb50-839a-4fa1-9b35-2ef1fd999e3d%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Huh, I spoke too soon then. I’ve updated the issue.
The root cause is that there are two files - “npm” and “npm.cmd”. Windows’ “cmd”, when you run just “npm”, actually starts “npm.cmd”, but Python subprocess tries to start “npm”, which in this case is a shell script that can’t be run directly on Windows.

Until it’s fixed, the workaround would be to execute “import bokeh.util.compiler; bokeh.util.compiler._npmjs = ‘npm.cmd’”

Regards,

Eugene

···

On Tuesday, November 28, 2017 at 4:15:08 PM UTC+7, Andrea Tagliabue wrote:

unfortunately same outcome


Virus-free. www.avast.com

On 28 November 2017 at 10:03, Eugene Pakhomov [email protected] wrote:

Hmm, with your help I actually found out that it’s an issue with either Bokeh or Node.js Anaconda distribution for Windows. I created an issue: https://github.com/bokeh/bokeh/issues/7259

As as workaround, you can try to install Node.js from conda-forge channel instead: “conda install -c conda-forge nodejs”.

  • Eugene

On Tuesday, November 28, 2017 at 3:36:25 PM UTC+7, Andrea Tagliabue wrote:

Hi all,
i have reinstalled anaconda but still the same problem for npm package.

can’t figure out what’s missing

Andrea


Virus-free. www.avast.com

On 28 November 2017 at 08:31, Eugene Pakhomov [email protected] wrote:

Probably that interpreter was started under a different PYTHONPATH. Or maybe something else.
But if the error won’t come back, its cause doesn’t really matter.

So, regarding the error that you’ve seen after the Bryan’s message. You have an installation of Node.js that doesn’t include npm.

You can try installing Node.js from conda: “conda install nodejs”.

But make sure that you either use a conda environment for all your work on a single project (preferrable), or at least that your Anaconda’s PATH (not sure what’s that on Windows) is the first in the Windows PATH environment variable in the shell and other programs where you work.

  • Eugene

On Tuesday, November 28, 2017 at 2:19:19 PM UTC+7, Andrea Tagliabue wrote:

OMG now i have no errors


i do not understand what’s going on


Virus-free. www.avast.com

On 28 November 2017 at 08:13, Eugene Pakhomov [email protected] wrote:

Ah, the last thing - did you execute the code that I’ve sent you earlier in the same interpreter where you got that error or in some other?
If in some other, try to execute where you got the error.

If nothing becomes clear after that, I would suggest starting with Anaconda from scratch - remove your current installation (provided, you don’t have anything of value there), install Anaconda again, create a conda environment for experimentation, install Bokeh and so on.

  • Eugene

On Tuesday, November 28, 2017 at 2:10:18 PM UTC+7, Andrea Tagliabue wrote:

yes it does.

class Template(metaclass=_TemplateMetaclass):

“”“A string class for supporting $-substitutions.”“”

delimiter = ‘$’

idpattern = r’[_a-z][_a-z0-9]*’

flags = _re.IGNORECASE

def init(self, template):

self.template = template

Search for $$, identifier, {identifier}, and any bare $'s

def _invalid(self, mo):

i = mo.start(‘invalid’)

lines = self.template[:i].splitlines(keepends=True)

if not lines:

colno = 1

lineno = 1

else:

colno = i - len(‘’.join(lines[:-1]))

lineno = len(lines)

raise ValueError(‘Invalid placeholder in string: line %d, col %d’ %

(lineno, colno))

def substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

Check the most common path first.

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

return str(mapping[named])

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

self._invalid(mo)

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

def safe_substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘safe_substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

try:

return str(mapping[named])

except KeyError:

return mo.group()

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

return mo.group()

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

On 28 November 2017 at 08:05, Eugene Pakhomov [email protected] wrote:

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%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/034b6247-ed74-4063-986a-8387ef1bccc2%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/423be6dc-755a-4e27-85df-6bfbe3e917f1%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/bd3a1504-3ebc-4217-aa83-7870338f0f82%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/6dcabb50-839a-4fa1-9b35-2ef1fd999e3d%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Hi Eugene,
can you clarify where i should put “import bokeh.util.compiler; bokeh.util.compiler._npmjs = ‘npm.cmd’”

I am sorry but i don’t have an IT background and i can’t simply put “import … = …”

Many thanks,

Andrea

···

On 28 November 2017 at 11:27, Eugene Pakhomov [email protected] wrote:

Huh, I spoke too soon then. I’ve updated the issue.
The root cause is that there are two files - “npm” and “npm.cmd”. Windows’ “cmd”, when you run just “npm”, actually starts “npm.cmd”, but Python subprocess tries to start “npm”, which in this case is a shell script that can’t be run directly on Windows.

Until it’s fixed, the workaround would be to execute “import bokeh.util.compiler; bokeh.util.compiler._npmjs = ‘npm.cmd’”

Regards,

Eugene

On Tuesday, November 28, 2017 at 4:15:08 PM UTC+7, Andrea Tagliabue wrote:

unfortunately same outcome


Virus-free. www.avast.com

On 28 November 2017 at 10:03, Eugene Pakhomov [email protected] wrote:

Hmm, with your help I actually found out that it’s an issue with either Bokeh or Node.js Anaconda distribution for Windows. I created an issue: https://github.com/bokeh/bokeh/issues/7259

As as workaround, you can try to install Node.js from conda-forge channel instead: “conda install -c conda-forge nodejs”.

  • Eugene

On Tuesday, November 28, 2017 at 3:36:25 PM UTC+7, Andrea Tagliabue wrote:

Hi all,
i have reinstalled anaconda but still the same problem for npm package.

can’t figure out what’s missing

Andrea


Virus-free. www.avast.com

On 28 November 2017 at 08:31, Eugene Pakhomov [email protected] wrote:

Probably that interpreter was started under a different PYTHONPATH. Or maybe something else.
But if the error won’t come back, its cause doesn’t really matter.

So, regarding the error that you’ve seen after the Bryan’s message. You have an installation of Node.js that doesn’t include npm.

You can try installing Node.js from conda: “conda install nodejs”.

But make sure that you either use a conda environment for all your work on a single project (preferrable), or at least that your Anaconda’s PATH (not sure what’s that on Windows) is the first in the Windows PATH environment variable in the shell and other programs where you work.

  • Eugene

On Tuesday, November 28, 2017 at 2:19:19 PM UTC+7, Andrea Tagliabue wrote:

OMG now i have no errors


i do not understand what’s going on


Virus-free. www.avast.com

On 28 November 2017 at 08:13, Eugene Pakhomov [email protected] wrote:

Ah, the last thing - did you execute the code that I’ve sent you earlier in the same interpreter where you got that error or in some other?
If in some other, try to execute where you got the error.

If nothing becomes clear after that, I would suggest starting with Anaconda from scratch - remove your current installation (provided, you don’t have anything of value there), install Anaconda again, create a conda environment for experimentation, install Bokeh and so on.

  • Eugene

On Tuesday, November 28, 2017 at 2:10:18 PM UTC+7, Andrea Tagliabue wrote:

yes it does.

class Template(metaclass=_TemplateMetaclass):

“”“A string class for supporting $-substitutions.”“”

delimiter = ‘$’

idpattern = r’[_a-z][_a-z0-9]*’

flags = _re.IGNORECASE

def init(self, template):

self.template = template

Search for $$, identifier, {identifier}, and any bare $'s

def _invalid(self, mo):

i = mo.start(‘invalid’)

lines = self.template[:i].splitlines(keepends=True)

if not lines:

colno = 1

lineno = 1

else:

colno = i - len(‘’.join(lines[:-1]))

lineno = len(lines)

raise ValueError(‘Invalid placeholder in string: line %d, col %d’ %

(lineno, colno))

def substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

Check the most common path first.

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

return str(mapping[named])

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

self._invalid(mo)

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

def safe_substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘safe_substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

try:

return str(mapping[named])

except KeyError:

return mo.group()

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

return mo.group()

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

On 28 November 2017 at 08:05, Eugene Pakhomov [email protected] wrote:

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%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/034b6247-ed74-4063-986a-8387ef1bccc2%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/423be6dc-755a-4e27-85df-6bfbe3e917f1%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/bd3a1504-3ebc-4217-aa83-7870338f0f82%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/6dcabb50-839a-4fa1-9b35-2ef1fd999e3d%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/51cf5e78-20c9-4872-97ac-f8c8e82a9a41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

Anywhere before that “FileNotFoundError” you received. It may even be the very first line.
It’s not “import … = …” - notice a semicolon in there, there are two statements. You can place them in two lines if you like.

  • Eugene
···

On Tuesday, November 28, 2017 at 6:05:38 PM UTC+7, Andrea Tagliabue wrote:

Hi Eugene,
can you clarify where i should put “import bokeh.util.compiler; bokeh.util.compiler._npmjs = ‘npm.cmd’”

I am sorry but i don’t have an IT background and i can’t simply put “import … = …”

Many thanks,

Andrea

On 28 November 2017 at 11:27, Eugene Pakhomov [email protected] wrote:

Huh, I spoke too soon then. I’ve updated the issue.
The root cause is that there are two files - “npm” and “npm.cmd”. Windows’ “cmd”, when you run just “npm”, actually starts “npm.cmd”, but Python subprocess tries to start “npm”, which in this case is a shell script that can’t be run directly on Windows.

Until it’s fixed, the workaround would be to execute “import bokeh.util.compiler; bokeh.util.compiler._npmjs = ‘npm.cmd’”

Regards,

Eugene

On Tuesday, November 28, 2017 at 4:15:08 PM UTC+7, Andrea Tagliabue wrote:

unfortunately same outcome


Virus-free. www.avast.com

On 28 November 2017 at 10:03, Eugene Pakhomov [email protected] wrote:

Hmm, with your help I actually found out that it’s an issue with either Bokeh or Node.js Anaconda distribution for Windows. I created an issue: https://github.com/bokeh/bokeh/issues/7259

As as workaround, you can try to install Node.js from conda-forge channel instead: “conda install -c conda-forge nodejs”.

  • Eugene

On Tuesday, November 28, 2017 at 3:36:25 PM UTC+7, Andrea Tagliabue wrote:

Hi all,
i have reinstalled anaconda but still the same problem for npm package.

can’t figure out what’s missing

Andrea


Virus-free. www.avast.com

On 28 November 2017 at 08:31, Eugene Pakhomov [email protected] wrote:

Probably that interpreter was started under a different PYTHONPATH. Or maybe something else.
But if the error won’t come back, its cause doesn’t really matter.

So, regarding the error that you’ve seen after the Bryan’s message. You have an installation of Node.js that doesn’t include npm.

You can try installing Node.js from conda: “conda install nodejs”.

But make sure that you either use a conda environment for all your work on a single project (preferrable), or at least that your Anaconda’s PATH (not sure what’s that on Windows) is the first in the Windows PATH environment variable in the shell and other programs where you work.

  • Eugene

On Tuesday, November 28, 2017 at 2:19:19 PM UTC+7, Andrea Tagliabue wrote:

OMG now i have no errors


i do not understand what’s going on


Virus-free. www.avast.com

On 28 November 2017 at 08:13, Eugene Pakhomov [email protected] wrote:

Ah, the last thing - did you execute the code that I’ve sent you earlier in the same interpreter where you got that error or in some other?
If in some other, try to execute where you got the error.

If nothing becomes clear after that, I would suggest starting with Anaconda from scratch - remove your current installation (provided, you don’t have anything of value there), install Anaconda again, create a conda environment for experimentation, install Bokeh and so on.

  • Eugene

On Tuesday, November 28, 2017 at 2:10:18 PM UTC+7, Andrea Tagliabue wrote:

yes it does.

class Template(metaclass=_TemplateMetaclass):

“”“A string class for supporting $-substitutions.”“”

delimiter = ‘$’

idpattern = r’[_a-z][_a-z0-9]*’

flags = _re.IGNORECASE

def init(self, template):

self.template = template

Search for $$, identifier, {identifier}, and any bare $'s

def _invalid(self, mo):

i = mo.start(‘invalid’)

lines = self.template[:i].splitlines(keepends=True)

if not lines:

colno = 1

lineno = 1

else:

colno = i - len(‘’.join(lines[:-1]))

lineno = len(lines)

raise ValueError(‘Invalid placeholder in string: line %d, col %d’ %

(lineno, colno))

def substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

Check the most common path first.

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

return str(mapping[named])

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

self._invalid(mo)

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

def safe_substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘safe_substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

try:

return str(mapping[named])

except KeyError:

return mo.group()

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

return mo.group()

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

On 28 November 2017 at 08:05, Eugene Pakhomov [email protected] wrote:

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%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/034b6247-ed74-4063-986a-8387ef1bccc2%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/423be6dc-755a-4e27-85df-6bfbe3e917f1%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/bd3a1504-3ebc-4217-aa83-7870338f0f82%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/6dcabb50-839a-4fa1-9b35-2ef1fd999e3d%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/51cf5e78-20c9-4872-97ac-f8c8e82a9a41%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

oh shit my bad. I am very sorry. I wrote a second import after ;
Thanks for your help


Virus-free. www.avast.com

···

On 28 November 2017 at 12:08, Eugene Pakhomov [email protected] wrote:

Anywhere before that “FileNotFoundError” you received. It may even be the very first line.
It’s not “import … = …” - notice a semicolon in there, there are two statements. You can place them in two lines if you like.

  • Eugene

On Tuesday, November 28, 2017 at 6:05:38 PM UTC+7, Andrea Tagliabue wrote:

Hi Eugene,
can you clarify where i should put “import bokeh.util.compiler; bokeh.util.compiler._npmjs = ‘npm.cmd’”

I am sorry but i don’t have an IT background and i can’t simply put “import … = …”

Many thanks,

Andrea

On 28 November 2017 at 11:27, Eugene Pakhomov [email protected] wrote:

Huh, I spoke too soon then. I’ve updated the issue.
The root cause is that there are two files - “npm” and “npm.cmd”. Windows’ “cmd”, when you run just “npm”, actually starts “npm.cmd”, but Python subprocess tries to start “npm”, which in this case is a shell script that can’t be run directly on Windows.

Until it’s fixed, the workaround would be to execute “import bokeh.util.compiler; bokeh.util.compiler._npmjs = ‘npm.cmd’”

Regards,

Eugene

On Tuesday, November 28, 2017 at 4:15:08 PM UTC+7, Andrea Tagliabue wrote:

unfortunately same outcome


Virus-free. www.avast.com

On 28 November 2017 at 10:03, Eugene Pakhomov [email protected] wrote:

Hmm, with your help I actually found out that it’s an issue with either Bokeh or Node.js Anaconda distribution for Windows. I created an issue: https://github.com/bokeh/bokeh/issues/7259

As as workaround, you can try to install Node.js from conda-forge channel instead: “conda install -c conda-forge nodejs”.

  • Eugene

On Tuesday, November 28, 2017 at 3:36:25 PM UTC+7, Andrea Tagliabue wrote:

Hi all,
i have reinstalled anaconda but still the same problem for npm package.

can’t figure out what’s missing

Andrea


Virus-free. www.avast.com

On 28 November 2017 at 08:31, Eugene Pakhomov [email protected] wrote:

Probably that interpreter was started under a different PYTHONPATH. Or maybe something else.
But if the error won’t come back, its cause doesn’t really matter.

So, regarding the error that you’ve seen after the Bryan’s message. You have an installation of Node.js that doesn’t include npm.

You can try installing Node.js from conda: “conda install nodejs”.

But make sure that you either use a conda environment for all your work on a single project (preferrable), or at least that your Anaconda’s PATH (not sure what’s that on Windows) is the first in the Windows PATH environment variable in the shell and other programs where you work.

  • Eugene

On Tuesday, November 28, 2017 at 2:19:19 PM UTC+7, Andrea Tagliabue wrote:

OMG now i have no errors


i do not understand what’s going on


Virus-free. www.avast.com

On 28 November 2017 at 08:13, Eugene Pakhomov [email protected] wrote:

Ah, the last thing - did you execute the code that I’ve sent you earlier in the same interpreter where you got that error or in some other?
If in some other, try to execute where you got the error.

If nothing becomes clear after that, I would suggest starting with Anaconda from scratch - remove your current installation (provided, you don’t have anything of value there), install Anaconda again, create a conda environment for experimentation, install Bokeh and so on.

  • Eugene

On Tuesday, November 28, 2017 at 2:10:18 PM UTC+7, Andrea Tagliabue wrote:

yes it does.

class Template(metaclass=_TemplateMetaclass):

“”“A string class for supporting $-substitutions.”“”

delimiter = ‘$’

idpattern = r’[_a-z][_a-z0-9]*’

flags = _re.IGNORECASE

def init(self, template):

self.template = template

Search for $$, identifier, {identifier}, and any bare $'s

def _invalid(self, mo):

i = mo.start(‘invalid’)

lines = self.template[:i].splitlines(keepends=True)

if not lines:

colno = 1

lineno = 1

else:

colno = i - len(‘’.join(lines[:-1]))

lineno = len(lines)

raise ValueError(‘Invalid placeholder in string: line %d, col %d’ %

(lineno, colno))

def substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

Check the most common path first.

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

return str(mapping[named])

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

self._invalid(mo)

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

def safe_substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘safe_substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

try:

return str(mapping[named])

except KeyError:

return mo.group()

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

return mo.group()

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

On 28 November 2017 at 08:05, Eugene Pakhomov [email protected] wrote:

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%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/034b6247-ed74-4063-986a-8387ef1bccc2%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/423be6dc-755a-4e27-85df-6bfbe3e917f1%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/bd3a1504-3ebc-4217-aa83-7870338f0f82%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/6dcabb50-839a-4fa1-9b35-2ef1fd999e3d%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/51cf5e78-20c9-4872-97ac-f8c8e82a9a41%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/437887d4-a737-41f3-99cd-b6684ba213ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

No problem. :slight_smile:

···

On Tuesday, November 28, 2017 at 6:09:51 PM UTC+7, Andrea Tagliabue wrote:

oh shit my bad. I am very sorry. I wrote a second import after ;
Thanks for your help


Virus-free. www.avast.com

On 28 November 2017 at 12:08, Eugene Pakhomov [email protected] wrote:

Anywhere before that “FileNotFoundError” you received. It may even be the very first line.
It’s not “import … = …” - notice a semicolon in there, there are two statements. You can place them in two lines if you like.

  • Eugene

On Tuesday, November 28, 2017 at 6:05:38 PM UTC+7, Andrea Tagliabue wrote:

Hi Eugene,
can you clarify where i should put “import bokeh.util.compiler; bokeh.util.compiler._npmjs = ‘npm.cmd’”

I am sorry but i don’t have an IT background and i can’t simply put “import … = …”

Many thanks,

Andrea

On 28 November 2017 at 11:27, Eugene Pakhomov [email protected] wrote:

Huh, I spoke too soon then. I’ve updated the issue.
The root cause is that there are two files - “npm” and “npm.cmd”. Windows’ “cmd”, when you run just “npm”, actually starts “npm.cmd”, but Python subprocess tries to start “npm”, which in this case is a shell script that can’t be run directly on Windows.

Until it’s fixed, the workaround would be to execute “import bokeh.util.compiler; bokeh.util.compiler._npmjs = ‘npm.cmd’”

Regards,

Eugene

On Tuesday, November 28, 2017 at 4:15:08 PM UTC+7, Andrea Tagliabue wrote:

unfortunately same outcome


Virus-free. www.avast.com

On 28 November 2017 at 10:03, Eugene Pakhomov [email protected] wrote:

Hmm, with your help I actually found out that it’s an issue with either Bokeh or Node.js Anaconda distribution for Windows. I created an issue: https://github.com/bokeh/bokeh/issues/7259

As as workaround, you can try to install Node.js from conda-forge channel instead: “conda install -c conda-forge nodejs”.

  • Eugene

On Tuesday, November 28, 2017 at 3:36:25 PM UTC+7, Andrea Tagliabue wrote:

Hi all,
i have reinstalled anaconda but still the same problem for npm package.

can’t figure out what’s missing

Andrea


Virus-free. www.avast.com

On 28 November 2017 at 08:31, Eugene Pakhomov [email protected] wrote:

Probably that interpreter was started under a different PYTHONPATH. Or maybe something else.
But if the error won’t come back, its cause doesn’t really matter.

So, regarding the error that you’ve seen after the Bryan’s message. You have an installation of Node.js that doesn’t include npm.

You can try installing Node.js from conda: “conda install nodejs”.

But make sure that you either use a conda environment for all your work on a single project (preferrable), or at least that your Anaconda’s PATH (not sure what’s that on Windows) is the first in the Windows PATH environment variable in the shell and other programs where you work.

  • Eugene

On Tuesday, November 28, 2017 at 2:19:19 PM UTC+7, Andrea Tagliabue wrote:

OMG now i have no errors


i do not understand what’s going on


Virus-free. www.avast.com

On 28 November 2017 at 08:13, Eugene Pakhomov [email protected] wrote:

Ah, the last thing - did you execute the code that I’ve sent you earlier in the same interpreter where you got that error or in some other?
If in some other, try to execute where you got the error.

If nothing becomes clear after that, I would suggest starting with Anaconda from scratch - remove your current installation (provided, you don’t have anything of value there), install Anaconda again, create a conda environment for experimentation, install Bokeh and so on.

  • Eugene

On Tuesday, November 28, 2017 at 2:10:18 PM UTC+7, Andrea Tagliabue wrote:

yes it does.

class Template(metaclass=_TemplateMetaclass):

“”“A string class for supporting $-substitutions.”“”

delimiter = ‘$’

idpattern = r’[_a-z][_a-z0-9]*’

flags = _re.IGNORECASE

def init(self, template):

self.template = template

Search for $$, identifier, {identifier}, and any bare $'s

def _invalid(self, mo):

i = mo.start(‘invalid’)

lines = self.template[:i].splitlines(keepends=True)

if not lines:

colno = 1

lineno = 1

else:

colno = i - len(‘’.join(lines[:-1]))

lineno = len(lines)

raise ValueError(‘Invalid placeholder in string: line %d, col %d’ %

(lineno, colno))

def substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

Check the most common path first.

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

return str(mapping[named])

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

self._invalid(mo)

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

def safe_substitute(*args, **kws):

if not args:

raise TypeError("descriptor ‘safe_substitute’ of ‘Template’ object "

“needs an argument”)

self, *args = args # allow the “self” keyword be passed

if len(args) > 1:

raise TypeError(‘Too many positional arguments’)

if not args:

mapping = kws

elif kws:

mapping = _ChainMap(kws, args[0])

else:

mapping = args[0]

Helper function for .sub()

def convert(mo):

named = mo.group(‘named’) or mo.group(‘braced’)

if named is not None:

try:

return str(mapping[named])

except KeyError:

return mo.group()

if mo.group(‘escaped’) is not None:

return self.delimiter

if mo.group(‘invalid’) is not None:

return mo.group()

raise ValueError(‘Unrecognized named group in pattern’,

self.pattern)

return self.pattern.sub(convert, self.template)

On 28 November 2017 at 08:05, Eugene Pakhomov [email protected] wrote:

Check if that file contains “class Template”. If it does, then I have no idea what’s happening, and further exploration would require an access to your machine.

If it does not, then your Anaconda installation has become broken for some reason. I would try to reinstall it, or at least to create a conda environment.

  • Eugene

On Tuesday, November 28, 2017 at 1:34:45 PM UTC+7, Andrea Tagliabue wrote:

Morning Eugene,
i get this C:\Users\andrt\Anaconda3\lib\string.py

No errors


Virus-free. www.avast.com

On 28 November 2017 at 07:28, Eugene Pakhomov [email protected] wrote:

Hi Andrea,

Regarding your latest message. Either your Python installation is incredibly broken so that standard library imports don’t work, or you have a “string” module in your PYTHONPATH that shadows the standard module.

Try executing:

import string

print(string.file)

Where does it point?

Regards,

Eugene

On Tuesday, November 28, 2017 at 1:16:13 PM UTC+7, Andrea Tagliabue wrote:

also i am getting errors when i am trying to use version from util

On 28 November 2017 at 07:10, Andrea Tagliabue [email protected] wrote:

Hi Bryan,
yes i am trying to create custom widgets and custom tools. I followed what is described here https://github.com/bokeh/bokeh/issues/6462 but unfort i got this error.

My nodejs version is 6.10.3.
Any help here would be great!
Thanks in advance!
Andrea


Virus-free. www.avast.com

On 25 November 2017 at 18:55, Bryan Van de ven [email protected] wrote:

Hi,

You are running in to this issue:

    [https://github.com/bokeh/bokeh/issues/6462](https://github.com/bokeh/bokeh/issues/6462)

However “npm” is purely optional dependency. Unless you are:

  • doing development on core BokehJS directly

  • creating custom extensions to Bokeh

Then you should not need it at all. (i.e. the problem with “bokeh info” is an annoyance but will not affect any normal usage).

If you are saying you are having problems with normal usage, please describe your actual situation and problem including a minimal example code to reproduce.

Thanks,

Bryan

On Nov 23, 2017, at 07:19, Andrea Tagliabue [email protected] wrote:

I think this prevents me to see any output in the browser

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/f3a576aa-2b24-404c-ad00-b2ab6c7d6d7c%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.

<test.png>

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/27C8140F-72B6-4124-A21A-100365F582C8%40anaconda.com.
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/21b2cda4-8682-42fc-a06d-27076b50ba07%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/034b6247-ed74-4063-986a-8387ef1bccc2%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/423be6dc-755a-4e27-85df-6bfbe3e917f1%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/bd3a1504-3ebc-4217-aa83-7870338f0f82%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/6dcabb50-839a-4fa1-9b35-2ef1fd999e3d%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/51cf5e78-20c9-4872-97ac-f8c8e82a9a41%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/437887d4-a737-41f3-99cd-b6684ba213ae%40continuum.io.

For more options, visit https://groups.google.com/a/continuum.io/d/optout.