jupyter-widgets / tutorial

A tutorial for widgets
BSD 3-Clause "New" or "Revised" License
394 stars 164 forks source link

LinkError on ipywebrtc while building environment with conda #27

Open akielbowicz opened 5 years ago

akielbowicz commented 5 years ago

Hi, I'm getting this error when I try install the widgets using the command given in the README

Install widgets from conda-forge conda install -c conda-forge ipywidgets=7.2 bqplot ipyvolume ipyleaflet pythreejs ipyevents

I tried to run with it with conda 4.6.14 first and after downgrading to conda 4.5.13 after reading https://github.com/conda/conda/issues/8306

I'm running debian

uname -a Linux debian 4.9.0-9-amd64 #1 SMP Debian 4.9.168-1+deb9u2 (2019-05-13) x86_64 GNU/Linux

Regards, Sasha

Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... ===> LINKING PACKAGE: conda-forge::traittypes-0.2.1-py_1 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial
  source=/home/sasha/miniconda3/pkgs/traittypes-0.2.1-py_1

===> LINKING PACKAGE: conda-forge::branca-0.3.1-py_0 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial
  source=/home/sasha/miniconda3/pkgs/branca-0.3.1-py_0

===> LINKING PACKAGE: conda-forge::widgetsnbextension-3.2.1-py36_1 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial
  source=/home/sasha/miniconda3/pkgs/widgetsnbextension-3.2.1-py36_1

Enabling notebook extension jupyter-js-widgets/extension...
      - Validating: OK

===> LINKING PACKAGE: conda-forge::ipywidgets-7.2.1-py36_1 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial
  source=/home/sasha/miniconda3/pkgs/ipywidgets-7.2.1-py36_1

===> LINKING PACKAGE: conda-forge::ipyevents-0.5.0-py_0 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial
  source=/home/sasha/miniconda3/pkgs/ipyevents-0.5.0-py_0

===> LINKING PACKAGE: conda-forge::ipyscales-0.3.0-py_0 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial
  source=/home/sasha/miniconda3/pkgs/ipyscales-0.3.0-py_0

===> LINKING PACKAGE: conda-forge::ipywebrtc-0.4.0-py36_1 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial
  source=/home/sasha/miniconda3/pkgs/ipywebrtc-0.4.0-py36_1

$ bash -x /home/sasha/miniconda3/envs/widgets-tutorial/bin/.ipywebrtc-post-link.sh
==> cwd: /home/sasha/miniconda3/envs/widgets-tutorial/bin <==
==> exit code: 1 <==
==> stdout <==
b''
==> stderr <==
b'+ /home/sasha/miniconda3/envs/widgets-tutorial/bin/jupyter-nbextension enable ipywebrtc --py --sys-prefix\nTraceback (most recent call last):\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/bin/jupyter-nbextension", line 11, in <module>\n    sys.exit(main())\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/lib/python3.6/site-packages/jupyter_core/application.py", line 266, in launch_instance\n    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/lib/python3.6/site-packages/traitlets/config/application.py", line 658, in launch_instance\n    app.start()\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/lib/python3.6/site-packages/notebook/nbextensions.py", line 988, in start\n    super(NBExtensionApp, self).start()\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/lib/python3.6/site-packages/jupyter_core/application.py", line 255, in start\n    self.subapp.start()\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/lib/python3.6/site-packages/notebook/nbextensions.py", line 896, in start\n    self.toggle_nbextension_python(self.extra_args[0])\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/lib/python3.6/site-packages/notebook/nbextensions.py", line 872, in toggle_nbextension_python\n    logger=self.log)\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/lib/python3.6/site-packages/notebook/nbextensions.py", line 483, in enable_nbextension_python\n    logger=logger)\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/lib/python3.6/site-packages/notebook/nbextensions.py", line 380, in _set_nbextension_state_python\n    m, nbexts = _get_nbextension_metadata(module)\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/lib/python3.6/site-packages/notebook/nbextensions.py", line 1122, in _get_nbextension_metadata\n    m = import_item(module)\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/lib/python3.6/site-packages/traitlets/utils/importstring.py", line 42, in import_item\n    return __import__(parts[0])\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/lib/python3.6/site-packages/ipywebrtc/__init__.py", line 5, in <module>\n    from .webrtc import *\n  File "/home/sasha/miniconda3/envs/widgets-tutorial/lib/python3.6/site-packages/ipywebrtc/webrtc.py", line 12, in <module>\n    from ipywidgets import DOMWidget, Image, Video, Audio, register, widget_serialization\nImportError: cannot import name \'Video\'\n'

===> REVERSING PACKAGE LINK: conda-forge::ipywebrtc-0.4.0-py36_1 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial

failed
An error occurred while installing package 'conda-forge::ipywebrtc-0.4.0-py36_1'.
LinkError: post-link script failed for package conda-forge::ipywebrtc-0.4.0-py36_1
running your command again with `-v` will provide additional information
location of failed script: /home/sasha/miniconda3/envs/widgets-tutorial/bin/.ipywebrtc-post-link.sh
==> script messages <==
<None>

Attempting to roll back.

Rolling back transaction: ...working... ===> REVERSING PACKAGE LINK: conda-forge::ipyscales-0.3.0-py_0 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial

===> REVERSING PACKAGE LINK: conda-forge::ipyevents-0.5.0-py_0 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial

===> REVERSING PACKAGE LINK: conda-forge::ipywidgets-7.2.1-py36_1 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial

===> REVERSING PACKAGE LINK: conda-forge::widgetsnbextension-3.2.1-py36_1 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial

===> REVERSING PACKAGE LINK: conda-forge::branca-0.3.1-py_0 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial

===> REVERSING PACKAGE LINK: conda-forge::traittypes-0.2.1-py_1 <===
  prefix=/home/sasha/miniconda3/envs/widgets-tutorial

done
Traceback (most recent call last):
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/core/link.py", line 799, in run_script
    subprocess_call(command_args, env=env, path=dirname(path))
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/gateways/subprocess.py", line 56, in subprocess_call
    output=_format_output(command_str, path, rc, stdout, stderr))
subprocess.CalledProcessError: Command '['bash', '-x', '/home/sasha/miniconda3/envs/widgets-tutorial/bin/.ipywebrtc-post-link.sh']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/core/link.py", line 563, in _execute_actions
    run_script(target_prefix, prec, 'post-unlink' if is_unlink else 'post-link')
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/core/link.py", line 815, in run_script
    raise LinkError(message)
conda.exceptions.LinkError: post-link script failed for package conda-forge::ipywebrtc-0.4.0-py36_1
running your command again with `-v` will provide additional information
location of failed script: /home/sasha/miniconda3/envs/widgets-tutorial/bin/.ipywebrtc-post-link.sh
==> script messages <==
<None>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/core/link.py", line 498, in _execute
    cls._execute_actions(pkg_idx, axngroup)
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/core/link.py", line 579, in _execute_actions
    reverse_excs,
conda.CondaMultiError: post-link script failed for package conda-forge::ipywebrtc-0.4.0-py36_1
running your command again with `-v` will provide additional information
location of failed script: /home/sasha/miniconda3/envs/widgets-tutorial/bin/.ipywebrtc-post-link.sh
==> script messages <==
<None>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/exceptions.py", line 819, in __call__
    return func(*args, **kwargs)
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/cli/main.py", line 78, in _main
    exit_code = do_call(args, p)
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/cli/conda_argparse.py", line 77, in do_call
    exit_code = getattr(module, func_name)(args, parser)
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/cli/main_install.py", line 11, in execute
    install(args, parser, 'install')
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/cli/install.py", line 253, in install
    handle_txn(unlink_link_transaction, prefix, args, newenv)
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/cli/install.py", line 282, in handle_txn
    unlink_link_transaction.execute()
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/core/link.py", line 228, in execute
    self._execute(tuple(concat(interleave(itervalues(self.prefix_action_groups)))))
  File "/home/sasha/miniconda3/lib/python3.7/site-packages/conda/core/link.py", line 526, in _execute
    rollback_excs,
conda.CondaMultiError: post-link script failed for package conda-forge::ipywebrtc-0.4.0-py36_1
running your command again with `-v` will provide additional information
location of failed script: /home/sasha/miniconda3/envs/widgets-tutorial/bin/.ipywebrtc-post-link.sh
==> script messages <==
<None>
vidartf commented 5 years ago

This seems like an issue with the ipywebrtc conda-forge package. @maartenbreddels input?

maartenbreddels commented 5 years ago

Sorry I didn't see this message before. What you could do, is skip ipywebrtc from conda, and install that separately using pip. If you are going to the tutorials, I might be able to debug this.

vidartf commented 5 years ago

It would be nice to fix the conda forge package as well though :)

mwcraig commented 5 years ago

Hi @akielbowicz -- I think the problem is with the version of ipywidgets you were using (the error was generated when Video was unrecognized during an ipywidgets import).

Could you please try again but with ipywidgets=7.4?

You may need to erase the conda environment you started to create with conda remove -n widgets-tutorial before trying to create it again.