Code Monkey home page Code Monkey logo

napari_pyclesperanto_assistant's Introduction

clesperanto

Image.sc forum website PyPI License Python Version

clesperanto is a graphical user interface for a multi-platform multi-language framework for GPU-accelerated image processing. It is based on napari and the pyclesperanto-prototype.

Installation

  • Get a python environment, e.g. via mini-conda. If you never used python/conda environments before, please follow the instructions here first.
  • Install pyopencl and napari using conda (seriously, don't use pip here, at least on Windows).
conda install -c conda-forge pyopencl napari

Afterwards, install clesperanto using pip:

pip install clesperanto

Usage

You can then start clesperanto from the command line:

cle

img.png

You can also pass image files as arguments like this:

cle https://samples.fiji.sc/blobs.png

Or:

img.png

Documentation

clesperanto installs multiple napari plugins. Check out their documentation for details

Also read more details about the clesperanto-project and mission.

Feedback welcome!

clesperanto is developed in the open because we believe in the open source community. See our community guidelines. Feel free to drop feedback as github issue or via image.sc

napari_pyclesperanto_assistant's People

Contributors

haesleinhuepf avatar jo-mueller avatar kevinyamauchi avatar neuromusic avatar psobolewskiphd avatar tlambert03 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

napari_pyclesperanto_assistant's Issues

Installation issues - PackagesNotFoundError

Hi, there,

I installed the package as instructed - "conda create --name cle_39 python=3.9 napari-pyclesperanto-assistant", but failed. The error is blow.

================
Channels:

  • defaults
    Platform: osx-arm64
    Collecting package metadata (repodata.json): done
    Solving environment: failed

PackagesNotFoundError: The following packages are not available from current channels:

  • napari-pyclesperanto-assistant

Current channels:

  • defaults

To search for alternate channels that may provide the conda package you're
looking for, navigate to

https://anaconda.org

and use the search bar at the top of the page.

Can anyone advise me what I might miss?

Unable to launch clEsperanto-Assistant

I recently updated the plugin after a period of not using (~2 mo). Version 0.12 worked fine.
Now on the latest, 0.18.1 and I am unable to launch the plugin from the Plugins menu.
Error: TypeError: select_gpu() missing 1 required positional argument: 'viewer'
Same behavior in napari 0.4.16 and 0.4.15.
macOS 12.3.1, arm64 python 3.9 env, pyqt (conda-forge) backend.

Full Traceback below:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
File ~/Dev/napari/napari/_qt/menus/plugins_menu.py:97, in PluginsMenu._add_plugin_actions.<locals>._add_toggle_widget(key=('clEsperanto', 'Assistant'), hook_type='dock')
     94     return
     96 if hook_type == 'dock':
---> 97     self._win.add_plugin_dock_widget(*key)
        key = ('clEsperanto', 'Assistant')
        self._win = <napari._qt.qt_main_window.Window object at 0x14eee67c0>
        self = <napari._qt.menus.plugins_menu.PluginsMenu object at 0x16c78a4c0>
     98 else:
     99     self._win._add_plugin_function_widget(*key)

File ~/Dev/napari/napari/_qt/qt_main_window.py:699, in Window.add_plugin_dock_widget(self=<napari._qt.qt_main_window.Window object>, plugin_name='clEsperanto', widget_name='Assistant')
    696         wdg = wdg._magic_widget
    697     return dock_widget, wdg
--> 699 wdg = _instantiate_dock_widget(Widget, self._qt_viewer.viewer)
        Widget = <class 'napari_pyclesperanto_assistant._gui._Assistant.Assistant'>
        self = <napari._qt.qt_main_window.Window object at 0x14eee67c0>
    701 # Add dock widget
    702 dock_kwargs.pop('name', None)

File ~/Dev/napari/napari/_qt/qt_main_window.py:1301, in _instantiate_dock_widget(wdg_cls=<class 'napari_pyclesperanto_assistant._gui._Assistant.Assistant'>, viewer=Viewer(axes=Axes(visible=False, labels=True, col...indings._transform_active_layer at 0x1641a3040>}))
   1296             break
   1297         # cannot look for param.kind == param.VAR_KEYWORD because
   1298         # QWidget allows **kwargs but errs on unknown keyword arguments
   1299 
   1300 # instantiate the widget
-> 1301 return wdg_cls(**kwargs)
        kwargs = {'napari_viewer': Viewer(axes=Axes(visible=False, labels=True, colored=True, dashed=False, arrows=True), camera=Camera(center=(0.0, 127.5, 127.5), zoom=3.0281249999999997, angles=(0.0, 0.0, 90.0), perspective=0.0, interactive=True), cursor=Cursor(position=(50.0, 254.64137885911344, 223.59906768642827), scaled=True, size=1, style=<CursorStyle.STANDARD: 'standard'>), dims=Dims(ndim=3, ndisplay=2, last_used=0, range=((0.0, 100.0, 1.0), (0.0, 256.0, 1.0), (0.0, 256.0, 1.0)), current_step=(50, 128, 128), order=(0, 1, 2), axis_labels=('0', '1', '2')), grid=GridCanvas(stride=-1, shape=(-1, -1), enabled=False), layers=[<Image layer 'Lund' at 0x1718a4370>], scale_bar=ScaleBar(visible=False, colored=False, ticks=True, position=<Position.BOTTOM_RIGHT: 'bottom_right'>, font_size=10, unit=None), text_overlay=TextOverlay(visible=False, color=(0.5, 0.5, 0.5, 1.0), font_size=10, position=<TextOverlayPosition.TOP_LEFT: 'top_left'>, text=''), overlays=Overlays(interaction_box=InteractionBox(points=None, show=False, show_handle=False, show_vertices=False, selection_box_drag=None, selection_box_final=None, transform_start=<napari.utils.transforms.transforms.Affine object at 0x14eed9a30>, transform_drag=<napari.utils.transforms.transforms.Affine object at 0x14eed9a90>, transform_final=<napari.utils.transforms.transforms.Affine object at 0x14eed9af0>, transform=<napari.utils.transforms.transforms.Affine object at 0x14eed9b50>, allow_new_selection=True, selected_vertex=None)), help='', status='Lund [50 255 224]: 240', tooltip=Tooltip(visible=False, text=''), theme='system', title='napari', mouse_move_callbacks=[<function InteractionBoxMouseBindings.initialize_mouse_events.<locals>.mouse_move at 0x164230e50>], mouse_drag_callbacks=[<function InteractionBoxMouseBindings.initialize_mouse_events.<locals>.mouse_drag at 0x164207280>], mouse_double_click_callbacks=[], mouse_wheel_callbacks=[<function dims_scroll at 0x14a286280>], _persisted_mouse_event={}, _mouse_drag_gen={}, _mouse_wheel_gen={}, keymap={'Shift': <function InteractionBoxMouseBindings.initialize_key_events.<locals>.hold_to_lock_aspect_ratio at 0x1642070d0>, 'Control-Shift-R': <function InteractionBoxMouseBindings._reset_active_layer_affine at 0x1641a30d0>, 'Control-Shift-A': <function InteractionBoxMouseBindings._transform_active_layer at 0x1641a3040>})}
        wdg_cls = <class 'napari_pyclesperanto_assistant._gui._Assistant.Assistant'>

File ~/Dev/miniforge3/envs/apple-TF28/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_Assistant.py:26, in Assistant.__init__(self=<napari_pyclesperanto_assistant._gui._Assistant.Assistant object>, napari_viewer=Viewer(axes=Axes(visible=False, labels=True, col...indings._transform_active_layer at 0x1641a3040>}))
     23 super().__init__(napari_viewer)
     25 if not Assistant._gpu_selected:
---> 26     select_gpu()
     27     Assistant._gpu_selected = True

TypeError: select_gpu() missing 1 required positional argument: 'viewer'

Connected component labeling returns error on macOS M1

Noticed this by accident with #48
The first Operation in the Label widget Connected component labeling results in long beachball and error on macOS 12.1, napari 0.14.0 and N-pycl-A 0.15.1 . The other Operations (including other two Connected component ones) work fine—with the exception of the duplicate voronoi-otsu noted in #48
Here's the error:


2022-02-13 11:18:14.286 | ERROR    | napari_pyclesperanto_assistant._gui._category_widget:gui_function:324 - An error has been caught in function 'gui_function', process 'MainProcess' (27274), thread 'MainThread' (4342056320):
Traceback (most recent call last):

  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/bin/napari", line 10, in <module>
    sys.exit(main())
    │   │    └ <function main at 0x12442c790>
    │   └ <built-in function exit>
    └ <module 'sys' (built-in)>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari/__main__.py", line 449, in main
    _run()
    └ <function _run at 0x12442c5e0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari/__main__.py", line 338, in _run
    run(gui_exceptions=True)
    └ <function run at 0x12480ca60>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari/_qt/qt_event_loop.py", line 402, in run
    app.exec_()
    │   └ <built-in method exec_>
    └ <PyQt5.QtWidgets.QApplication object at 0x124fbddc0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/backends/_qtpy/widgets.py", line 646, in _emit_data
    self._event_filter.valueChanged.emit(self._qwidget.itemData(index))
    │    │             │                 │    │        │        └ 0
    │    │             │                 │    │        └ <built-in method itemData>
    │    │             │                 │    └ <PyQt5.QtWidgets.QComboBox object at 0x13169a8b0>
    │    │             │                 └ <magicgui.backends._qtpy.widgets.ComboBox object at 0x1316eff10>
    │    │             └ <unbound PYQT_SIGNAL valueChanged(PyQt_PyObject)>
    │    └ <magicgui.backends._qtpy.widgets.EventFilter object at 0x13169af70>
    └ <magicgui.backends._qtpy.widgets.ComboBox object at 0x1316eff10>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/widgets/_bases/value_widget.py", line 57, in _on_value_change
    self.changed.emit(value)
    │    │       │    └ 'Connected component labeling (clesperanto)'
    │    │       └ <cyfunction SignalInstance.emit at 0x103049790>
    │    └ <SignalInstance 'changed' on ComboBox(value='Connected component labeling (clesperanto)', annotation=<class 'str'>, name='op_...
    └ ComboBox(value='Connected component labeling (clesperanto)', annotation=<class 'str'>, name='op_name')
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/events.py", line 85, in _run_emit_loop
    cb(*args[:max_args])
    │   │     └ 0
    │   └ ('Connected component labeling (clesperanto)',)
    └ <function ContainerWidget.insert.<locals>.<lambda> at 0x1317a4dc0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/widgets/_bases/container_widget.py", line 165, in <lambda>
    widget.changed.connect(lambda: self.changed.emit(self))
                                   │    │       │    └ <FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:0' at 0x14f5089d0>, op_name: str = 'Conn...
                                   │    │       └ <cyfunction SignalInstance.emit at 0x103049790>
                                   │    └ <SignalInstance 'changed' on <FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:0' at 0x14f...
                                   └ <FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:0' at 0x14f5089d0>, op_name: str = 'Conn...
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/events.py", line 85, in _run_emit_loop
    cb(*args[:max_args])
    │   │     └ 0
    │   └ (<FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:0' at 0x14f5089d0>, op_name: str = 'Con...
    └ <bound method FunctionGui._on_change of <FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:...
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/widgets/_function_gui.py", line 221, in _on_change
    self()
    └ <FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:0' at 0x14f5089d0>, op_name: str = 'Conn...
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/widgets/_function_gui.py", line 303, in __call__
    value = self._function(*bound.args, **bound.kwargs)
            │    │          │     │       │     └ <property object at 0x10301e130>
            │    │          │     │       └ <BoundArguments (input0=<Image layer 'Image:0' at 0x14f5089d0>, op_name='Connected component labeling (clesperanto)', x=2.0, ...
            │    │          │     └ <property object at 0x10301e0e0>
            │    │          └ <BoundArguments (input0=<Image layer 'Image:0' at 0x14f5089d0>, op_name='Connected component labeling (clesperanto)', x=2.0, ...
            │    └ <function make_gui_for_category.<locals>.gui_function at 0x16c81c1f0>
            └ <FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:0' at 0x14f5089d0>, op_name: str = 'Conn...
> File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_category_widget.py", line 324, in gui_function
    result, used_args = call_op(op_name, inputs, t_position, viewer, **kwargs)
                        │       │        │       │           │         └ {'x': 2.0, 'y': 2.0, 'z': 0.0, 'u': 0.0, 'v': 0.0, 'w': 0.0, 'a': False, 'b': False, 'c': False, 'k': '', 'l': '', 'm': ''}
                        │       │        │       │           └ Viewer(axes=Axes(visible=False, labels=True, colored=True, dashed=False, arrows=True), camera=Camera(center=(0.0, 126.5, 127....
                        │       │        │       └ None
                        │       │        └ [<Image layer 'Image:0' at 0x14f5089d0>]
                        │       └ 'Connected component labeling (clesperanto)'
                        └ <function call_op at 0x14df454c0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_category_widget.py", line 154, in call_op
    gpu_out = gpu_out.astype(int)
              │       └ <function OCLArray.astype at 0x14d91e700>
              └ cl.Array([[1, 1, 1, ..., 1, 1, 1],
                       [1, 1, 1, ..., 1, 1, 1],
                       [1, 1, 1, ..., 1, 1, 1],
                       ...,
                       [1, 1, ...
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_pycl.py", line 148, in astype
    return copy(self, copied)
           │    │     └ cl.Array([[0, 0, 0, ..., 0, 0, 0],
           │    │              [0, 0, 0, ..., 0, 0, 0],
           │    │              [0, 0, 0, ..., 0, 0, 0],
           │    │              ...,
           │    │              [0, 0, ...
           │    └ cl.Array([[1, 1, 1, ..., 1, 1, 1],
           │             [1, 1, 1, ..., 1, 1, 1],
           │             [1, 1, 1, ..., 1, 1, 1],
           │             ...,
           │             [1, 1, ...
           └ <function copy at 0x14d93c280>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_plugin_function.py", line 71, in worker_function
    return function(*bound.args, **bound.kwargs)
           │         │     │       │     └ <property object at 0x10301e130>
           │         │     │       └ <BoundArguments (source=cl.Array([[1, 1, 1, ..., 1, 1, 1],
           │         │     │                [1, 1, 1, ..., 1, 1, 1],
           │         │     │                [1, 1, 1, ..., 1, 1, 1],
           │         │     │           ...
           │         │     └ <property object at 0x10301e0e0>
           │         └ <BoundArguments (source=cl.Array([[1, 1, 1, ..., 1, 1, 1],
           │                  [1, 1, 1, ..., 1, 1, 1],
           │                  [1, 1, 1, ..., 1, 1, 1],
           │             ...
           └ <function copy at 0x14d93c1f0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier1/_copy.py", line 36, in copy
    execute(__file__, '../clij-opencl-kernels/kernels/copy_' + str(len(destination.shape)) + 'd_x.cl', 'copy_' + str(len(destination.shape)) + 'd', destination.shape, parameters)
    │       │                                                          │           │                                     │           │              │           │      └ {'dst': cl.Array([[0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                     │           │              │           │               [0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                     │           │              │           │               [0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                     │           │              │           │               ...,
    │       │                                                          │           │                                     │           │              │           │              ...
    │       │                                                          │           │                                     │           │              │           └ (254, 256)
    │       │                                                          │           │                                     │           │              └ cl.Array([[0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                     │           │                       [0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                     │           │                       [0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                     │           │                       ...,
    │       │                                                          │           │                                     │           │                       [0, 0, ...
    │       │                                                          │           │                                     │           └ (254, 256)
    │       │                                                          │           │                                     └ cl.Array([[0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                              [0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                              [0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                              ...,
    │       │                                                          │           │                                              [0, 0, ...
    │       │                                                          │           └ (254, 256)
    │       │                                                          └ cl.Array([[0, 0, 0, ..., 0, 0, 0],
    │       │                                                                   [0, 0, 0, ..., 0, 0, 0],
    │       │                                                                   [0, 0, 0, ..., 0, 0, 0],
    │       │                                                                   ...,
    │       │                                                                   [0, 0, ...
    │       └ '/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier1/_copy.py'
    └ <function execute at 0x14d7d24c0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_execute.py", line 3, in execute
    return Backend.get_instance().get().execute(anchor, opencl_kernel_filename, kernel_name, global_size, parameters, prog, constants, image_size_independent_kernel_compilation, device)
           │       │                            │       │                       │            │            │           │     │          │                                          └ None
           │       │                            │       │                       │            │            │           │     │          └ None
           │       │                            │       │                       │            │            │           │     └ None
           │       │                            │       │                       │            │            │           └ None
           │       │                            │       │                       │            │            └ {'dst': cl.Array([[0, 0, 0, ..., 0, 0, 0],
           │       │                            │       │                       │            │                     [0, 0, 0, ..., 0, 0, 0],
           │       │                            │       │                       │            │                     [0, 0, 0, ..., 0, 0, 0],
           │       │                            │       │                       │            │                     ...,
           │       │                            │       │                       │            │                    ...
           │       │                            │       │                       │            └ (254, 256)
           │       │                            │       │                       └ 'copy_2d'
           │       │                            │       └ '../clij-opencl-kernels/kernels/copy_2d_x.cl'
           │       │                            └ '/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier1/_copy.py'
           │       └ <classmethod object at 0x14d594ca0>
           └ <class 'pyclesperanto_prototype._tier0._backends.Backend'>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_opencl_backend.py", line 41, in execute
    return execute(anchor, opencl_kernel_filename, kernel_name, global_size, parameters, prog, constants, image_size_independent_kernel_compilation, device)
           │       │       │                       │            │            │           │     │          │                                          └ None
           │       │       │                       │            │            │           │     │          └ None
           │       │       │                       │            │            │           │     └ None
           │       │       │                       │            │            │           └ None
           │       │       │                       │            │            └ {'dst': cl.Array([[0, 0, 0, ..., 0, 0, 0],
           │       │       │                       │            │                     [0, 0, 0, ..., 0, 0, 0],
           │       │       │                       │            │                     [0, 0, 0, ..., 0, 0, 0],
           │       │       │                       │            │                     ...,
           │       │       │                       │            │                    ...
           │       │       │                       │            └ (254, 256)
           │       │       │                       └ 'copy_2d'
           │       │       └ '../clij-opencl-kernels/kernels/copy_2d_x.cl'
           │       └ '/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier1/_copy.py'
           └ <function execute at 0x17ea408b0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_opencl_execute.py", line 311, in execute
    prog = device.program_from_source("\n".join(defines))
           │      │                             └ ['#define MAX_ARRAY_SIZE 1000', '#define GET_IMAGE_WIDTH(image_key) image_size_ ## image_key ## _width', '#define GET_IMAGE_H...
           │      └ <functools._lru_cache_wrapper object at 0x14d8f5ae0>
           └ <Apple M1 on Platform: Apple (75 refs)>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_device.py", line 26, in program_from_source
    return OCLProgram(src_str=source, dev=self)
           │                  │           └ <Apple M1 on Platform: Apple (75 refs)>
           │                  └ '#define MAX_ARRAY_SIZE 1000\n#define GET_IMAGE_WIDTH(image_key) image_size_ ## image_key ## _width\n#define GET_IMAGE_HEIGHT...
           └ <class 'pyclesperanto_prototype._tier0._program.OCLProgram'>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_program.py", line 28, in __init__
    self.build(options=build_options)
    │    │             └ []
    │    └ <function Program.build at 0x14d8b8c10>
    └ <pyclesperanto_prototype._tier0._program.OCLProgram object at 0x16dd59ac0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyopencl/__init__.py", line 536, in build
    self._prg, was_cached = self._build_and_catch_errors(
    │    │                  │    └ <function Program._build_and_catch_errors at 0x14d8b8ca0>
    │    │                  └ <pyclesperanto_prototype._tier0._program.OCLProgram object at 0x16dd59ac0>
    │    └ None
    └ <pyclesperanto_prototype._tier0._program.OCLProgram object at 0x16dd59ac0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyopencl/__init__.py", line 584, in _build_and_catch_errors
    raise err
          └ RuntimeError(<pyopencl._cl._ErrorRecord object at 0x16dd548b0>)

pyopencl._cl.RuntimeError: clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE

Build on <pyopencl.Device 'Apple M1' on 'Apple' at 0x1027f00>:

Compiler encountered an internal error
(options: -I /Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyopencl/cl)
(source saved as /var/folders/sy/y3_x27j14cxg3_vhycs6cr_h0000gn/T/tmppdsr9h65.cl)

Make user interface independent from clesperanto and move code to new repository

Hi Talley @tlambert03 ,

I'm about to move a lot of code out of this repository to a new napari-plugin "napari-assistant". It will contain all the graphical user-interface from here and not depend on clesperanto. It will then list/show operations from multiple plugins that are compatible and installed.

As you wrote quite a lot of the code I'm moving in this context, I'm suggesting to list you as copyright-holder and git-commit-contributor in the new repository. I was also wondering if you want to be listed as author in the new repository's setup.cfg.

Let me know what you think and have a great weekend!

Thanks,
Robert

somewhere package dependency 'pyrsistent' got dropped

Hi there,
In trying to install a frozen environment on a new PC, I was getting a plugin error for both clesperanto and the assistant. Reading the error helped me identify that pyrsistent was a missing module. pip install pyrsistent resolved the issue. It's likely not directly related to this package, but I use a minimal install list typically to grab all the dependencies (i.e. pip install napari==0.4.17 napari-pyclesperanto-assistant will not work and requires pyrsistent. In part just posting this in case others are troubleshooting

Bugs when using functions from nsbatwm

When using background subtraction functions tagged with nsbatwm I get an Error message:

`2022-02-20 21:06:53.908 | DEBUG | napari_pyclesperanto_assistant._gui._category_widget:_show_result:223 - creating new layer for id: 2456101371712
2022-02-20 21:06:56.043 | DEBUG | napari_pyclesperanto_assistant._gui._category_widget:_show_result:217 - updating existing layer: Result of Gaussian (scikit-image, nsbatwm), with id: 2456101371712
2022-02-20 21:06:56.226 | DEBUG | napari_pyclesperanto_assistant._gui._category_widget:_show_result:217 - updating existing layer: Result of Gaussian (scikit-image, nsbatwm), with id: 2456101371712
2022-02-20 21:06:56.407 | DEBUG | napari_pyclesperanto_assistant._gui._category_widget:_show_result:217 - updating existing layer: Result of Gaussian (scikit-image, nsbatwm), with id: 2456101371712
2022-02-20 21:06:57.952 | ERROR | napari_pyclesperanto_assistant._gui._category_widget:gui_function:328 - An error has been caught in function 'gui_function', process 'MainProcess' (20716), thread 'MainThread' (3616):
Traceback (most recent call last):

File "C:\Users\ryans\anaconda3\envs\np_workflows_v1\lib\runpy.py", line 196, in _run_module_as_main
return run_code(code, main_globals, None,
│ │ └ {'name': 'main', 'doc': None, 'package': '', 'loader': <zipimporter object "C:\Users\ryans\anaconda3\envs...
│ └ <code object at 0x0000023BA0990F50, file "C:\Users\ryans\anaconda3\envs\np_workflows_v1\Scripts\napari.exe_main
....
└ <function _run_code at 0x0000023BA096A7A0>

File "C:\Users\ryans\anaconda3\envs\np_workflows_v1\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
│ └ {'name': 'main', 'doc': None, 'package': '', 'loader': <zipimporter object "C:\Users\ryans\anaconda3\envs...
└ <code object at 0x0000023BA0990F50, file "C:\Users\ryans\anaconda3\envs\np_workflows_v1\Scripts\napari.exe_main
....

File "C:\Users\ryans\anaconda3\envs\np_workflows_v1\Scripts\napari.exe_main_.py", line 7, in

File "C:\Users\ryans\anaconda3\envs\np_workflows_v1\lib\site-packages\napari_main_.py", line 449, in main
_run()
└ <function _run at 0x0000023BC1A52200>

File "C:\Users\ryans\anaconda3\envs\np_workflows_v1\lib\site-packages\napari_main_.py", line 338, in _run
run(gui_exceptions=True)
└ <function run at 0x0000023BC1C80820>

File "C:\Users\ryans\anaconda3\envs\np_workflows_v1\lib\site-packages\napari_qt\qt_event_loop.py", line 402, in run
app.exec_()
│ └
└ <PyQt5.QtWidgets.QApplication object at 0x0000023BC1F757E0>

File "c:\users\ryans\onedrive\documents\bia pol stuff\napari workflow repositories\napari_pyclesperanto_assistant\napari_pyclesperanto_assistant_gui_Assistant.py", line 188, in _on_item_clicked
self._activate(CATEGORIES.get(item.text()))
│ │ │ │ │ └
│ │ │ │ └ <PyQt5.QtWidgets.QListWidgetItem object at 0x0000023BDB0CA950>
│ │ │ └ <method 'get' of 'dict' objects>
│ │ └ {'Remove noise': Category(name='Removal noise', description='Remove noise from images, e.g. by local averaging and blurring.'...
│ └ <function Assistant._activate at 0x0000023BD55EAB00>
└ <napari_pyclesperanto_assistant._gui._Assistant.Assistant object at 0x0000023BDB0AE710>

File "c:\users\ryans\onedrive\documents\bia pol stuff\napari workflow repositories\napari_pyclesperanto_assistant\napari_pyclesperanto_assistant_gui_Assistant.py", line 219, in _activate
self._layers[gui()] = (dw, gui)
│ │ │ │ └ <FunctionGui do_remove_background(, input0: napari.layers.image.image.Image = <Image layer 'Result of Gaussian (scikit-image...
│ │ │ └ <napari._qt.widgets.qt_viewer_dock_widget.QtViewerDockWidget object at 0x0000023BE3ECA320>
│ │ └ <FunctionGui do_remove_background(
, input0: napari.layers.image.image.Image = <Image layer 'Result of Gaussian (scikit-image...
│ └ {<Image layer 'Result of Gaussian (scikit-image, nsbatwm)' at 0x23bdb2a34f0>: (<napari._qt.widgets.qt_viewer_dock_widget.QtVi...
└ <napari_pyclesperanto_assistant._gui._Assistant.Assistant object at 0x0000023BDB0AE710>

File "C:\Users\ryans\anaconda3\envs\np_workflows_v1\lib\site-packages\magicgui\widgets_function_gui.py", line 303, in call
value = self._function(bound.args, **bound.kwargs)
│ │ │ │ │ └ <property object at 0x0000023BA0E0D990>
│ │ │ │ └ <BoundArguments (input0=<Image layer 'Result of Gaussian (scikit-image, nsbatwm)' at 0x23bdb2a34f0>, op_name='Black top-hat (...
│ │ │ └ <property object at 0x0000023BA0E0D940>
│ │ └ <BoundArguments (input0=<Image layer 'Result of Gaussian (scikit-image, nsbatwm)' at 0x23bdb2a34f0>, op_name='Black top-hat (...
│ └ <function make_gui_for_category..gui_function at 0x0000023BE3E9A170>
└ <FunctionGui do_remove_background(
, input0: napari.layers.image.image.Image = <Image layer 'Result of Gaussian (scikit-image...

File "c:\users\ryans\onedrive\documents\bia pol stuff\napari workflow repositories\napari_pyclesperanto_assistant\napari_pyclesperanto_assistant_gui_category_widget.py", line 328, in gui_function
result, used_args = call_op(op_name, inputs, t_position, viewer, **kwargs)
│ │ │ │ │ └ {'x': 10.0, 'y': 10.0, 'z': 0.0, 'u': 0.0, 'v': 0.0, 'w': 0.0, 'a': False, 'b': False, 'c': False, 'k': '', 'l': '', 'm': ''}
│ │ │ │ └ Viewer(axes=Axes(visible=False, labels=True, colored=True, dashed=False, arrows=True), camera=Camera(center=(0.0, 126.5, 127....
│ │ │ └ None
│ │ └ [<Image layer 'Result of Gaussian (scikit-image, nsbatwm)' at 0x23bdb2a34f0>]
│ └ 'Black top-hat (scipy, nsbatwm)'
└ <function call_op at 0x0000023BD55E9FC0>

File "c:\users\ryans\onedrive\documents\bia pol stuff\napari workflow repositories\napari_pyclesperanto_assistant\napari_pyclesperanto_assistant_gui_category_widget.py", line 154, in call_op
gpu_out = cle_function(*args, **kwargs)
│ │ └ {}
│ └ [array([[0.14280938, 0.13814596, 0.1335724 , ..., 0.88336891, 0.87451825,
│ 0.86551713],
│ [0.14465108, 0.14062554...
└ <function black_tophat at 0x0000023BCD436440>

File "C:\Users\ryans\anaconda3\envs\np_workflows_v1\lib\site-packages\napari_time_slicer_init_.py", line 49, in worker_function
result = function(*bound.args, **bound.kwargs)
│ │ │ │ └ <property object at 0x0000023BA0E0D990>
│ │ │ └ <BoundArguments (image=array([[0.14280938, 0.13814596, 0.1335724 , ..., 0.88336891, 0.87451825,
│ │ │ 0.86551713],
│ │ │ [...
│ │ └ <property object at 0x0000023BA0E0D940>
│ └ <BoundArguments (image=array([[0.14280938, 0.13814596, 0.1335724 , ..., 0.88336891, 0.87451825,
│ 0.86551713],
│ [...
└ <function black_tophat at 0x0000023BCD4363B0>

File "C:\Users\ryans\anaconda3\envs\np_workflows_v1\lib\site-packages\napari_segment_blobs_and_things_with_membranes_init_.py", line 215, in black_tophat
return scipy.ndimage.black_tophat(image.astype(float), size=radius * 2 + 1)
│ │ │ │ │ └ 10.0
│ │ │ │ └ <method 'astype' of 'numpy.ndarray' objects>
│ │ │ └ array([[0.14280938, 0.13814596, 0.1335724 , ..., 0.88336891, 0.87451825,
│ │ │ 0.86551713],
│ │ │ [0.14465108, 0.14062554,...
│ │ └ <function black_tophat at 0x0000023BBE776950>
│ └ <module 'scipy.ndimage' from 'C:\Users\ryans\anaconda3\envs\np_workflows_v1\lib\site-packages\scipy\ndimage\_init...
└ <module 'scipy' from 'C:\Users\ryans\anaconda3\envs\np_workflows_v1\lib\site-packages\scipy\init.py'>

File "C:\Users\ryans\anaconda3\envs\np_workflows_v1\lib\site-packages\scipy\ndimage\morphology.py", line 1840, in black_tophat
tmp = grey_dilation(input, size, footprint, structure, None, mode,
│ │ │ │ │ └ 'reflect'
│ │ │ │ └ None
│ │ │ └ None
│ │ └ 21.0
│ └ array([[0.14280938, 0.13814596, 0.1335724 , ..., 0.88336891, 0.87451825,
│ 0.86551713],
│ [0.14465108, 0.14062554,...
└ <function grey_dilation at 0x0000023BBE7765F0>

File "C:\Users\ryans\anaconda3\envs\np_workflows_v1\lib\site-packages\scipy\ndimage\morphology.py", line 1366, in grey_dilation
if not sz & 1:
└ 21.0

TypeError: unsupported operand type(s) for &: 'float' and 'int'`

This can also be seen with other categories like filter where I also get : TypeError: unsupported operand type(s) for &: 'float' and 'int'
For the combine category I get the error: TypeError: missing a required argument: 'image2', although two images are selected in the widget. I hope this helps and if you need further command line readouts I am happy to try and reproduce these errors. For reference: I am using the main branch of this repository as an install rather than installing it with Pypi or napari.

pypi deployment fails

Hey Talley @tlambert03 ,

I'm having issues with deployment (the pypi page looks empty/weird) because of an issue related to this one

When executing

python setup.py sdist bdist_wheel
python -m twine check dist/*

The second command outputs this error:

Checking dist\napari_pyclesperanto_assistant-0.8.1-py3-none-any.whl: PASSED, with warnings
  warning: `long_description_content_type` missing. defaulting to `text/x-rst`.
Checking dist\napari_pyclesperanto_assistant-0.8.1.tar.gz: FAILED
  `long_description` has syntax errors in markup and would not be rendered on PyPI.
    line 31: Warning: Inline literal start-string without end-string.
  warning: `long_description_content_type` missing. defaulting to `text/x-rst`.

However, the entry "long_description_content_type" is there. Do you have any ideas how this can happen?

Any hint is appreciated. Thanks!

Robert

Saving pipeline error

Hello,

I just started to use pyclesperanto assistant and is amazing, congrats to all the developers.

I'm running into this problem when trying to save all the pipeline done to an image.

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
c:\users\User\anaconda3\envs\napari-env\lib\site-packages\napari\_qt\containers\_layer_delegate.py in paint(self=, painter=, option=, index=)
     79         # update the icon based on layer type
     80 
---> 81         self.get_layer_icon(option, index)
        self.get_layer_icon = >
        option = 
        index = 
     82         # paint the standard itemView (includes name, icon, and vis. checkbox)
     83         super().paint(painter, option, index)

c:\users\User\anaconda3\envs\napari-env\lib\site-packages\napari\_qt\containers\_layer_delegate.py in get_layer_icon(self=, option=, index=)
     92             icon_name = 'folder-open' if expanded else 'folder'
     93         else:
---> 94             icon_name = f'new_{layer._type_string}'
        icon_name = undefined
     95 
     96         icon = QColoredSVGIcon.from_resources(icon_name)

AttributeError: 'NoneType' object has no attribute '_type_string'

Thank you

Installation with conda errors

When I try to install the package as described in the installation I cannot get it to work. It just stays on the solving environment part. If I create an environment with python 3.9 and try to install it via conda then it tells me it can't find the package even though I specified the forge with:

conda install -c conda-forge napari-pyclesperanto-assistant

Now this might have something to do with my end (should do a fresh conda setup when I have the nerve to do so) but in case it is not I wanted to raise the issue. Installing with pip works fine though!

using pyclesperanto_assistant operations in other napari plugins

Hi @haesleinhuepf
Great work with the napari assistant.

I have a question about translating a workflow generated in napari_pyclesperanto_assistant within other napari plugins.

Say, if I have a plugin to deskew a lattice lightsheet file, I'd like the user to test an image processing workflow using clesperanto_assistant on a few stacks. For example, filtering and binarising a deskewed image. Once the user is happy with the settings, they would then run a batch process, where

  • deskewing (plugin A)
  • and the image processing (pyclesperanto)

is applied to the whole file and the final processed stack is saved. This is all to be done within the napari environment (for now).

I really like this idea of defining workflows and wondering if I can access it from clesperanto_assistant?
https://github.com/clEsperanto/pyclesperanto_prototype/blob/master/demo/optimization/workflow_dask.ipynb

Perhaps via this function?

Cheers
Pradeep

Unable to use the assistant on 3d images

Hello,

I recently started working with this amazing tool, and I have to say I like it a lot! It is really powerful to have all the pyclesperanto_prototype functionality in the napari viewer. All the 2d functions are working perfectly fine. However, the one thing that I can't get to work is 3d image processing (which is working fine for me with pyclesperanto_prototype).

Everytime I want to do any sort of operation on a 3d image, I get a big error that looks like this:

2022-02-24 13:23:40.414 | INFO     | napari_pyclesperanto_assistant._gui._category_widget:call_op:124 - cle.gaussian_blur (clesperanto)(..., 1.0, 1.0, 0.0)
2022-02-24 13:23:40.465 | DEBUG    | napari_pyclesperanto_assistant._gui._category_widget:_show_result:223 - creating new layer for id: 140441732163040
Traceback (most recent call last):
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_category_widget.py", line 216, in _show_result
    layer = next(x for x in viewer.layers if isinstance(x.metadata, dict) and x.metadata.get(OP_ID) == op_id)
StopIteration

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_Assistant.py", line 171, in _on_item_clicked
    self._activate(CATEGORIES.get(item.text()))
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_Assistant.py", line 202, in _activate
    self._layers[gui()] = (dw, gui)
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/magicgui/widgets/_function_gui.py", line 306, in __call__
    value = self._function(*bound.args, **bound.kwargs)
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_category_widget.py", line 344, in gui_function
    result_layer = _show_result(
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_category_widget.py", line 230, in _show_result
    layer = add_layer(data, **kwargs)
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/napari/components/viewer_model.py", line 731, in add_image
    layer = Image(data, **kwargs)
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/napari/layers/image/image.py", line 348, in __init__
    self._update_dims()
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/napari/layers/base/base.py", line 675, in _update_dims
    self.refresh()
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/napari/layers/base/base.py", line 1172, in refresh
    self.set_view_slice()
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/napari/layers/base/base.py", line 922, in set_view_slice
    self._set_view_slice()
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/napari/layers/image/image.py", line 678, in _set_view_slice
    image = self.data[image_indices]
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_array_operators.py", line 305, in __getitem__
    result = range(self, start_x=x_range.start, stop_x=x_range.stop, step_x=x_range.step,
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_plugin_function.py", line 71, in worker_function
    return function(*bound.args, **bound.kwargs)
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/pyclesperanto_prototype/_tier1/_range.py", line 61, in range
    execute(__file__, 'range_x.cl', 'range', destination.shape, parameters)
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_execute.py", line 3, in execute
    return Backend.get_instance().get().execute(anchor, opencl_kernel_filename, kernel_name, global_size, parameters, prog, constants, image_size_independent_kernel_compilation, device)
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_opencl_backend.py", line 41, in execute
    return execute(anchor, opencl_kernel_filename, kernel_name, global_size, parameters, prog, constants, image_size_independent_kernel_compilation, device)
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_opencl_execute.py", line 322, in execute
    prog.run_kernel(kernel_name, tuple(global_size[::-1]), None, *arguments)
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_program.py", line 34, in run_kernel
    self._kernel_dict[name](
  File "/home/dirk/miniconda3/envs/pyclesperanto/lib/python3.9/site-packages/pyopencl/__init__.py", line 896, in kernel_call
    return self._enqueue(self, queue, global_size, local_size, *args, **kwargs)
  File "<pyopencl invoker for 'range'>", line 7, in enqueue_knl_range
pyopencl._cl.LogicError: clSetKernelArg failed: INVALID_ARG_SIZE - when processing arg#13 (1-based): 

Just to be sure I don't have anything wrong in my environment, I made a new environment based on the installation instructions in the readme.
The version of napari, the assistant and numpy in this environment are:
napari (version = 0.4.14, source = pypi)
napari-pyclesperanto-assistant (version = 0.15.4, source = pypi)
numpy (version = 1.22.2, source = conda-forge)

This is a MRE to mimic what is wrong:

# use the new environment to run the following:

import numpy as np
import napari

random_array = np.random.random((500,500,500))
test = napari.Viewer()
test.add_image(random_array)
test.dims.ndisplay = 3

# in the napari viewer:
# 1) open the assistant
# 2) select any operation (remove noise for example)
# 3) the error appears and no operation is performed

Hopefully I'm not doing anything wrong here. If you need more information about this issue, please let me know.
Thank you in advance for the help, and also thank you for creating such a nice tool!

installation via napari plugin installer in the bundled app fails

... also with buildtools installed...

napari info:

napari: 0.4.10
Platform: Windows-10-10.0.19041-SP0
Python: 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)]
Qt: 5.15.2
PySide2: 5.15.2
NumPy: 1.19.3
SciPy: 1.6.3
Dask: 2021.06.0
VisPy: 0.6.6

OpenGL:
- GL version: 4.6.0 - Build 27.20.100.9168
- MAX_TEXTURE_SIZE: 16384

Screens:
- screen 1: resolution 1280x720, scale 1.0

Plugins:
- console: 0.0.3
- scikit-image
- svg: 0.1.5

error:

Collecting napari-pyclesperanto-assistant

  Downloading napari_pyclesperanto_assistant-0.9.5-py3-none-any.whl (14.2 MB)

Collecting pyperclip

  Using cached pyperclip-1.8.2.tar.gz (20 kB)

Collecting loguru

  Using cached loguru-0.5.3-py3-none-any.whl (57 kB)

Requirement already satisfied: napari-plugin-engine>=0.1.4 in c:\users\rober\appdata\local\programs\napari\app_packages (from napari-pyclesperanto-assistant) (0.1.9)

Requirement already satisfied: numpy!=1.19.4 in c:\users\rober\appdata\local\programs\napari\app_packages (from napari-pyclesperanto-assistant) (1.19.3)

Requirement already satisfied: magicgui in c:\users\rober\appdata\local\programs\napari\app_packages (from napari-pyclesperanto-assistant) (0.2.9)
Requirement already satisfied: scikit-image in c:\users\rober\appdata\local\programs\napari\app_packages (from napari-pyclesperanto-assistant) (0.18.1)
Requirement already satisfied: napari>=0.4.7 in c:\users\rober\appdata\local\programs\napari\app (from napari-pyclesperanto-assistant) (0.4.10)

Collecting pandas

  Downloading pandas-1.3.0-cp38-cp38-win_amd64.whl (10.2 MB)

Collecting pyopencl

  Downloading pyopencl-2021.2.6.tar.gz (450 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_8ea7642340e0419a8cb2812f521f1d4c\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_8ea7642340e0419a8cb2812f521f1d4c\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-uwsawjz4'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_8ea7642340e0419a8cb2812f521f1d4c\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_8ea7642340e0419a8cb2812f521f1d4c\setup.py", line 282, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_8ea7642340e0419a8cb2812f521f1d4c\setup.py", line 117, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/d1/44/e5a726c0fbe74bac4ed7542fbd499216bd2f0db88e86136aacf2d9b23896/pyopencl-2021.2.6.tar.gz#sha256=df208546d28a3274ba7b554d50643ed1e393b8f3f75a43b24b83d3ee76597587 (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2021.2.5.tar.gz (449 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_8485d92c596247dcbc90af02c4bea916\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_8485d92c596247dcbc90af02c4bea916\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-xucy94va'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_8485d92c596247dcbc90af02c4bea916\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_8485d92c596247dcbc90af02c4bea916\setup.py", line 282, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_8485d92c596247dcbc90af02c4bea916\setup.py", line 117, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/39/e4/b41567cebee2ec59cb09f4b7b2369e95e26a890c40ef7a4c6d30b8ac6c4a/pyopencl-2021.2.5.tar.gz#sha256=bd88c6b45fb7f9a11c9b4dbcff888d1bb42f04c214ae77d663c96f8d6ad4679c (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2021.2.3.tar.gz (450 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_267141fefba54edbbac40c0c2bcda142\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_267141fefba54edbbac40c0c2bcda142\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-odp6u92j'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_267141fefba54edbbac40c0c2bcda142\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_267141fefba54edbbac40c0c2bcda142\setup.py", line 282, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_267141fefba54edbbac40c0c2bcda142\setup.py", line 117, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/e3/8d/c6f856ad549359cfea2e2636577b4545db2b6db8af0f56dd1562ab95c81f/pyopencl-2021.2.3.tar.gz#sha256=be8dbf48ee40997721e3bb3990a67c3fc95982c1265595b2f793f89e8dc38a33 (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2021.2.2.tar.gz (450 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_c0f811ef5d4f47b7b93489d59449c226\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_c0f811ef5d4f47b7b93489d59449c226\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-1na2imec'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_c0f811ef5d4f47b7b93489d59449c226\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_c0f811ef5d4f47b7b93489d59449c226\setup.py", line 270, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_c0f811ef5d4f47b7b93489d59449c226\setup.py", line 105, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/62/e0/fe21daf2c215a38890a27dc487b81f57e2fa0a26498fb9d291deb2d99217/pyopencl-2021.2.2.tar.gz#sha256=50876f16624bc623fa2eff98a91259761b51471e186f535d4d4e7bce58292f0c (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2021.2.1.tar.gz (449 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_811c1735d7474d279951073ed6c94080\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_811c1735d7474d279951073ed6c94080\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-5whtjwyw'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_811c1735d7474d279951073ed6c94080\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_811c1735d7474d279951073ed6c94080\setup.py", line 270, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_811c1735d7474d279951073ed6c94080\setup.py", line 105, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/9e/5d/946e16426ebb86459d53682497ef5bb78c37c65e6ea454fa25a1c4ce23e2/pyopencl-2021.2.1.tar.gz#sha256=9138f99a9b3ca7ee4baae23c9e53dc3d02dff5a2f30dbd1c4663af6707e60b67 (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2021.1.6.tar.gz (448 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_cf13667346dc48d9bd296f12d5a2db43\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_cf13667346dc48d9bd296f12d5a2db43\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-bep2mpxi'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_cf13667346dc48d9bd296f12d5a2db43\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_cf13667346dc48d9bd296f12d5a2db43\setup.py", line 270, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_cf13667346dc48d9bd296f12d5a2db43\setup.py", line 105, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/08/ee/077b79683a8cb069cba1dd227772513130e6b59f53252d8f3009c9db975c/pyopencl-2021.1.6.tar.gz#sha256=b618e8105cdd36df8bd2f511ca9d8e509a12c0f886e5848b12320c4a9dfefbb0 (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2021.1.5.tar.gz (447 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_58715da290c44d7590c65338571d3e3b\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_58715da290c44d7590c65338571d3e3b\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-n_pttwbk'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_58715da290c44d7590c65338571d3e3b\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_58715da290c44d7590c65338571d3e3b\setup.py", line 270, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_58715da290c44d7590c65338571d3e3b\setup.py", line 105, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/fe/43/1ae158c886523f99bb27e6b14783156b246df2d5c8b1da8cf8c364f43819/pyopencl-2021.1.5.tar.gz#sha256=aaa438b87fbb6d5a185b22666ad0ada5f396a0ac259db95a59620e7900d3b837 (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2021.1.4.tar.gz (447 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_cda1a631b8094db68aca6760846aea31\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_cda1a631b8094db68aca6760846aea31\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-zwb2wog6'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_cda1a631b8094db68aca6760846aea31\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_cda1a631b8094db68aca6760846aea31\setup.py", line 271, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_cda1a631b8094db68aca6760846aea31\setup.py", line 105, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/86/54/4393d9fd363d35ac6946a572d87239c90978fa10cb8f8bb02f901cd61165/pyopencl-2021.1.4.tar.gz#sha256=6a9665e89c15e1c684789263bd3a632567e7c7bd25a657092df4b185b3468971 (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2021.1.3.tar.gz (447 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_596a56755b784d21ad337c22db52b8c2\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_596a56755b784d21ad337c22db52b8c2\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-9qjn_h65'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_596a56755b784d21ad337c22db52b8c2\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_596a56755b784d21ad337c22db52b8c2\setup.py", line 271, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_596a56755b784d21ad337c22db52b8c2\setup.py", line 105, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/77/bf/8477afdf79e5513a7c2ce4e053e018508d2b1759c6e3766a4b700a914ea1/pyopencl-2021.1.3.tar.gz#sha256=a428683690f66383cb59c675c2991ced45f0c9b722373e53a643c1b75de89c12 (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2021.1.2.tar.gz (358 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_48e9e9408d0f45808bd323cb6047882e\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_48e9e9408d0f45808bd323cb6047882e\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-twe5v4ih'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_48e9e9408d0f45808bd323cb6047882e\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_48e9e9408d0f45808bd323cb6047882e\setup.py", line 271, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_48e9e9408d0f45808bd323cb6047882e\setup.py", line 105, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/71/2f/e5c0860f86f8ea8d8044db7b661fccb954c200308d94d982352592eb88ee/pyopencl-2021.1.2.tar.gz#sha256=18871bc80c5a94869521189cf2c04d72c88367a441a9a033f72f66792ac33d29 (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2021.1.1.tar.gz (357 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_ae807477ac39486eab63e5ac13c69c30\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_ae807477ac39486eab63e5ac13c69c30\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-e_hjj_il'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_ae807477ac39486eab63e5ac13c69c30\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_ae807477ac39486eab63e5ac13c69c30\setup.py", line 271, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_ae807477ac39486eab63e5ac13c69c30\setup.py", line 105, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/2c/d5/393c6754e68bc4353387f0dd1e4a37909a594eb0b273d757eaf5c9ff5468/pyopencl-2021.1.1.tar.gz#sha256=ee78d2696a4bb62c6def2678d662d67d27c103621b8c00e21158d16ccbf5c346 (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2021.1.tar.gz (357 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_6fccf9c058db42f69be35fa2a6cdb1a0\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_6fccf9c058db42f69be35fa2a6cdb1a0\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-wtuv73rj'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_6fccf9c058db42f69be35fa2a6cdb1a0\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_6fccf9c058db42f69be35fa2a6cdb1a0\setup.py", line 273, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_6fccf9c058db42f69be35fa2a6cdb1a0\setup.py", line 107, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/52/a9/a56caf7a9fd4e98547d0b9354f06e05b3f1d1b94b2ae4038cccdcbfd3eca/pyopencl-2021.1.tar.gz#sha256=262a29708a5465bd12b75d838f8d1107cd9321f54cb1c553c0064db10f3d5041 (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2020.3.1.tar.gz (357 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_af1061e5b879450f8e3d201603cb2bc1\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_af1061e5b879450f8e3d201603cb2bc1\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-oxsc9s89'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_af1061e5b879450f8e3d201603cb2bc1\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_af1061e5b879450f8e3d201603cb2bc1\setup.py", line 273, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_af1061e5b879450f8e3d201603cb2bc1\setup.py", line 107, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/ed/b3/4bc2585aa8271d5b2bc5ae36895db2c8a53a453b26318f2dab907afc32aa/pyopencl-2020.3.1.tar.gz#sha256=abc689307cf34d3dcc94d43815f64e2265469b50ecce6c903a3180589666fb36 (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2020.3.tar.gz (357 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_1fc6a14afa4d4b5fab67edaf48350de7\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_1fc6a14afa4d4b5fab67edaf48350de7\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-1zx_zhji'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_1fc6a14afa4d4b5fab67edaf48350de7\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_1fc6a14afa4d4b5fab67edaf48350de7\setup.py", line 273, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_1fc6a14afa4d4b5fab67edaf48350de7\setup.py", line 107, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/98/09/06426bb39309b4e853a568adab771cf39b6c2a9e12dc097ec00780be7b24/pyopencl-2020.3.tar.gz#sha256=4aa3031c17fc99aa2f3018ef2c9e1d535c3cfdc7a01bb987b1ea3826ef42bd59 (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2020.2.2.tar.gz (352 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_9a132f80cc1d4b64abfe9c4ab15d83c2\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_9a132f80cc1d4b64abfe9c4ab15d83c2\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-47zxbhfl'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_9a132f80cc1d4b64abfe9c4ab15d83c2\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_9a132f80cc1d4b64abfe9c4ab15d83c2\setup.py", line 273, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_9a132f80cc1d4b64abfe9c4ab15d83c2\setup.py", line 107, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/75/ee/b8c71784fe0eb6997b5daf6065136ea7a8e64118a079917b0eeb70ed0d00/pyopencl-2020.2.2.tar.gz#sha256=31fcc79fb6862998e98d91a624c0bd4f0ab4c5d418d199912d4d312c64e437ec (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2020.2.1.tar.gz (352 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_3e2244090d3440b281db522863ed94ff\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_3e2244090d3440b281db522863ed94ff\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-lvvsr5yp'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_3e2244090d3440b281db522863ed94ff\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_3e2244090d3440b281db522863ed94ff\setup.py", line 278, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_3e2244090d3440b281db522863ed94ff\setup.py", line 109, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/16/a9/95a42f5c28a2684a003fb8154577bc42247c075718efbb74f454622bb9d9/pyopencl-2020.2.1.tar.gz#sha256=deb6c50f37f8f88960a943b379eca8c0a9a80634cf60e09aee691a7453ae202e (from https://pypi.org/simple/pyopencl/) (requires-python:~=3.6). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2020.2.tar.gz (351 kB)

  Installing build dependencies: started

  Installing build dependencies: finished with status 'done'

  Getting requirements to build wheel: started

  Getting requirements to build wheel: finished with status 'done'

    Preparing wheel metadata: started

    Preparing wheel metadata: finished with status 'error'

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' 'C:\Users\rober\AppData\Local\Programs\napari\app_packages\pip\_vendor\pep517\in_process\_in_process.py' prepare_metadata_for_build_wheel 'C:\WINDOWS\Temp\tmpm3hm90d6'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_cadb55be38f4418385ab6f5cc1279cfb
    Complete output (64 lines):
    ---------------------------------------------------------------------------
    Pybind11 is not installed.
    ---------------------------------------------------------------------------
    Very likely, the build process after this message will fail.
    
    Simply press Ctrl+C and type
    python -m pip install pybind11
    to fix this. If you don't, the build will continue
    in a few seconds.
    
    [1] https://pybind11.readthedocs.io/en/stable/
    ---------------------------------------------------------------------------
    Continuing in 10 seconds...
    Continuing in 9 seconds...
    Continuing in 8 seconds...
    Continuing in 7 seconds...
    Continuing in 6 seconds...
    Continuing in 5 seconds...
    Continuing in 4 seconds...
    Continuing in 3 seconds...
    Continuing in 2 seconds...
    Continuing in 1 seconds...
    
    ---------------------------------------------------------------------------
    Mako is not installed.
    ---------------------------------------------------------------------------
    That is not a problem, as most of PyOpenCL will be just fine
    without it. Some higher-level parts of pyopencl (such as
    pyopencl.reduction) will not function without the templating engine
    Mako [1] being installed. If you would like this functionality to
    work, you might want to install Mako after you finish
    installing PyOpenCL.
    
    Simply type
    python -m pip install mako
    either now or after the installation completes to fix this.
    
    [1] http://www.makotemplates.org/
    ---------------------------------------------------------------------------
    Hit Ctrl-C now if you'd like to think about the situation.
    ---------------------------------------------------------------------------
    Continuing in 5 seconds...
    Continuing in 4 seconds...
    Continuing in 3 seconds...
    Continuing in 2 seconds...
    Continuing in 1 seconds...
    
    running dist_info
    creating C:\Windows\Temp\pip-modern-metadata-3v1wb6et\pyopencl.egg-info
    writing C:\Windows\Temp\pip-modern-metadata-3v1wb6et\pyopencl.egg-info\PKG-INFO
    writing dependency_links to C:\Windows\Temp\pip-modern-metadata-3v1wb6et\pyopencl.egg-info\dependency_links.txt
    writing requirements to C:\Windows\Temp\pip-modern-metadata-3v1wb6et\pyopencl.egg-info\requires.txt
    writing top-level names to C:\Windows\Temp\pip-modern-metadata-3v1wb6et\pyopencl.egg-info\top_level.txt
    writing manifest file 'C:\Windows\Temp\pip-modern-metadata-3v1wb6et\pyopencl.egg-info\SOURCES.txt'
    reading manifest file 'C:\Windows\Temp\pip-modern-metadata-3v1wb6et\pyopencl.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching '*.h'
    warning: no files found matching 'doc\_static\*.css'
    warning: no files found matching 'doc\_templates\*.html'
    warning: no files found matching '*.py.in'
    adding license file 'LICENSE'
    writing manifest file 'C:\Windows\Temp\pip-modern-metadata-3v1wb6et\pyopencl.egg-info\SOURCES.txt'
    creating 'C:\Windows\Temp\pip-modern-metadata-3v1wb6et\pyopencl.dist-info'
    error: invalid command 'bdist_wheel'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/a1/b5/c32aaa78e76fefcb294f4ad6aba7ec592d59b72356ca95bcc4abfb98af3e/pyopencl-2020.2.tar.gz#sha256=afd9f22547bcd879b9e54252fc885b45034ebfd1890e630827f1afb408a03d23 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' 'C:\Users\rober\AppData\Local\Programs\napari\app_packages\pip\_vendor\pep517\in_process\_in_process.py' prepare_metadata_for_build_wheel 'C:\WINDOWS\Temp\tmpm3hm90d6' Check the logs for full command output.

  Downloading pyopencl-2020.1.tar.gz (345 kB)

  Installing build dependencies: started

  Installing build dependencies: finished with status 'done'

  Getting requirements to build wheel: started

  Getting requirements to build wheel: finished with status 'done'

    Preparing wheel metadata: started

    Preparing wheel metadata: finished with status 'error'

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' 'C:\Users\rober\AppData\Local\Programs\napari\app_packages\pip\_vendor\pep517\in_process\_in_process.py' prepare_metadata_for_build_wheel 'C:\WINDOWS\Temp\tmpbbsn41zo'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_ff7c79bab32f42fc9f7ee5f7c676416e
    Complete output (64 lines):
    ---------------------------------------------------------------------------
    Pybind11 is not installed.
    ---------------------------------------------------------------------------
    Very likely, the build process after this message will fail.
    
    Simply press Ctrl+C and type
    python -m pip install pybind11
    to fix this. If you don't, the build will continue
    in a few seconds.
    
    [1] https://pybind11.readthedocs.io/en/stable/
    ---------------------------------------------------------------------------
    Continuing in 10 seconds...
    Continuing in 9 seconds...
    Continuing in 8 seconds...
    Continuing in 7 seconds...
    Continuing in 6 seconds...
    Continuing in 5 seconds...
    Continuing in 4 seconds...
    Continuing in 3 seconds...
    Continuing in 2 seconds...
    Continuing in 1 seconds...
    
    ---------------------------------------------------------------------------
    Mako is not installed.
    ---------------------------------------------------------------------------
    That is not a problem, as most of PyOpenCL will be just fine
    without it. Some higher-level parts of pyopencl (such as
    pyopencl.reduction) will not function without the templating engine
    Mako [1] being installed. If you would like this functionality to
    work, you might want to install Mako after you finish
    installing PyOpenCL.
    
    Simply type
    python -m pip install mako
    either now or after the installation completes to fix this.
    
    [1] http://www.makotemplates.org/
    ---------------------------------------------------------------------------
    Hit Ctrl-C now if you'd like to think about the situation.
    ---------------------------------------------------------------------------
    Continuing in 5 seconds...
    Continuing in 4 seconds...
    Continuing in 3 seconds...
    Continuing in 2 seconds...
    Continuing in 1 seconds...
    
    running dist_info
    creating C:\Windows\Temp\pip-modern-metadata-bzhukbai\pyopencl.egg-info
    writing C:\Windows\Temp\pip-modern-metadata-bzhukbai\pyopencl.egg-info\PKG-INFO
    writing dependency_links to C:\Windows\Temp\pip-modern-metadata-bzhukbai\pyopencl.egg-info\dependency_links.txt
    writing requirements to C:\Windows\Temp\pip-modern-metadata-bzhukbai\pyopencl.egg-info\requires.txt
    writing top-level names to C:\Windows\Temp\pip-modern-metadata-bzhukbai\pyopencl.egg-info\top_level.txt
    writing manifest file 'C:\Windows\Temp\pip-modern-metadata-bzhukbai\pyopencl.egg-info\SOURCES.txt'
    reading manifest file 'C:\Windows\Temp\pip-modern-metadata-bzhukbai\pyopencl.egg-info\SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching '*.h'
    warning: no files found matching 'doc\_static\*.css'
    warning: no files found matching 'doc\_templates\*.html'
    warning: no files found matching '*.py.in'
    adding license file 'LICENSE'
    writing manifest file 'C:\Windows\Temp\pip-modern-metadata-bzhukbai\pyopencl.egg-info\SOURCES.txt'
    creating 'C:\Windows\Temp\pip-modern-metadata-bzhukbai\pyopencl.dist-info'
    error: invalid command 'bdist_wheel'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/41/a1/884bc4c8d45cf4789ceba119e5f7f59e0b7ab7029504aa2166d933956b8f/pyopencl-2020.1.tar.gz#sha256=7513f7054f4eeb5361de1f5113883145fc67dbabde73a2148f221ae05af4d22c (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' 'C:\Users\rober\AppData\Local\Programs\napari\app_packages\pip\_vendor\pep517\in_process\_in_process.py' prepare_metadata_for_build_wheel 'C:\WINDOWS\Temp\tmpbbsn41zo' Check the logs for full command output.

  Downloading pyopencl-2019.1.2.tar.gz (343 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_0e2988067a33495dbc77fd9323cff35a\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_0e2988067a33495dbc77fd9323cff35a\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-ixsiu4ka'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_0e2988067a33495dbc77fd9323cff35a\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_0e2988067a33495dbc77fd9323cff35a\setup.py", line 280, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_0e2988067a33495dbc77fd9323cff35a\setup.py", line 109, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/b8/4a/440670555eb5c9a5dccb9869cdc0a7ec2fea2fc17668027a9d8bcef1987d/pyopencl-2019.1.2.tar.gz#sha256=7803f3128dbd28ae6f5b851a80ef586a35b9575406ea7bb068b8e1516f8043f0 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2019.1.1.tar.gz (343 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_60f837dcf26d4a01ba34bdd9d3ae8f70\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_60f837dcf26d4a01ba34bdd9d3ae8f70\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-2boq3asf'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_60f837dcf26d4a01ba34bdd9d3ae8f70\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_60f837dcf26d4a01ba34bdd9d3ae8f70\setup.py", line 280, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_60f837dcf26d4a01ba34bdd9d3ae8f70\setup.py", line 109, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/57/32/79a5037bedec24139d38242e7b5a00c3b128a637bcdd907bb0dcee62d1bf/pyopencl-2019.1.1.tar.gz#sha256=b324f0ea311c63a3d949a367e9d8c7d4061ca4e3fffaf6afcb0e62f7100bb63c (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2019.1.tar.gz (341 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_fc94ddf697374a95bb28da74cca99acc\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_fc94ddf697374a95bb28da74cca99acc\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-yywljgac'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_fc94ddf697374a95bb28da74cca99acc\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_fc94ddf697374a95bb28da74cca99acc\setup.py", line 280, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_fc94ddf697374a95bb28da74cca99acc\setup.py", line 109, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/1b/0e/f49c0507610aae0bc2aba6ad1e79f87992d9e74e6ea55af23e436075502e/pyopencl-2019.1.tar.gz#sha256=a0dbf45964a5f6d56429d80f47bd30670e9becdf448a1ef11d15abc25eb35011 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2018.2.5.tar.gz (340 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_6a590e65af644183bb7271d051a31f70\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_6a590e65af644183bb7271d051a31f70\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-pr7rcgwj'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_6a590e65af644183bb7271d051a31f70\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_6a590e65af644183bb7271d051a31f70\setup.py", line 280, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_6a590e65af644183bb7271d051a31f70\setup.py", line 109, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/59/c9/faed1bd4bb9d928443b94d551e4973144157cbeaafa8d45a679495644eb8/pyopencl-2018.2.5.tar.gz#sha256=d6e64a9d52dc6c5cc54690def9cd8aa300910e0270268a6ba3fed4c46333f1e1 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2018.2.3.tar.gz (340 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_3796fff2f32c4858b8a378bccfa83bbf\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_3796fff2f32c4858b8a378bccfa83bbf\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-1hb79ufg'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_3796fff2f32c4858b8a378bccfa83bbf\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_3796fff2f32c4858b8a378bccfa83bbf\setup.py", line 277, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_3796fff2f32c4858b8a378bccfa83bbf\setup.py", line 109, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/f8/2a/953d7373893f0e2e4f48db996712a5613dccb80bc9339d51d8437c6e21c4/pyopencl-2018.2.3.tar.gz#sha256=ebefe9505cad970dfb4c8024630ef5a546c68d22943dbb3e5677943a6d006ac6 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2018.2.2.tar.gz (341 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_21dd0e4a883f4bb9b9c99b6526a420de\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_21dd0e4a883f4bb9b9c99b6526a420de\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-r9uc12dr'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_21dd0e4a883f4bb9b9c99b6526a420de\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_21dd0e4a883f4bb9b9c99b6526a420de\setup.py", line 353, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_21dd0e4a883f4bb9b9c99b6526a420de\setup.py", line 186, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/bc/58/3ab1246e94986f1b6953e76d7ea7e69d2dbfef7b3f3874eded48524a024f/pyopencl-2018.2.2.tar.gz#sha256=419375fb794d97f9bd46f0dc24ce83b5cc83d316771ba82fac80de8bf883dcdc (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2018.2.1.tar.gz (340 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_dd658c4661644ce7b579094a0d5f7682\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_dd658c4661644ce7b579094a0d5f7682\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-198zdssz'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_dd658c4661644ce7b579094a0d5f7682\
    Complete output (26 lines):
    Traceback (most recent call last):
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_dd658c4661644ce7b579094a0d5f7682\setup.py", line 186, in main
        import pybind11  # noqa
    ModuleNotFoundError: No module named 'pybind11'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_dd658c4661644ce7b579094a0d5f7682\setup.py", line 371, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_dd658c4661644ce7b579094a0d5f7682\setup.py", line 201, in main
        from aksetup_helper import count_down_delay
    ModuleNotFoundError: No module named 'aksetup_helper'
    ---------------------------------------------------------------------------
    Pybind11 is not installed.
    ---------------------------------------------------------------------------
    Very likely, the build process after this message will fail.
    
    Simply press Ctrl+C and type
    python -m pip install pybind11
    to fix this. If you don't, the build will continue
    in a few seconds.
    
    [1] https://pybind11.readthedocs.io/en/stable/
    ---------------------------------------------------------------------------
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/a6/79/14a885969fd6f1f3628ff7a400140f8b053be3a8a8b36dd86d2879055f98/pyopencl-2018.2.1.tar.gz#sha256=5ed40baccb493e8e9ac394f15c64871954d234fd6d9250c50bee1466d8bd8e48 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2018.2.tar.gz (339 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_91e914ae058f4ed8a07613820f4714b5\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_91e914ae058f4ed8a07613820f4714b5\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-i00wjd_i'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_91e914ae058f4ed8a07613820f4714b5\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_91e914ae058f4ed8a07613820f4714b5\setup.py", line 350, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_91e914ae058f4ed8a07613820f4714b5\setup.py", line 182, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/ab/4a/d51af361465736f0a1c17c5321deae64c3b5e14381948f4cbda180f9eb7c/pyopencl-2018.2.tar.gz#sha256=139aea763d5665c17047dfbfe281960d5a6de29ff504e83de43294c6fafedabe (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2018.1.1.tar.gz (357 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_f31f1413b3154c7eae9ffa14bbde69ec\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_f31f1413b3154c7eae9ffa14bbde69ec\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-4heul_4v'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_f31f1413b3154c7eae9ffa14bbde69ec\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_f31f1413b3154c7eae9ffa14bbde69ec\setup.py", line 265, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_f31f1413b3154c7eae9ffa14bbde69ec\setup.py", line 102, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/d3/66/080ee1a9cc3f71f7491c7e3261b767c788be2aea0d694017cd25aa762b0e/pyopencl-2018.1.1.tar.gz#sha256=29683b47ec729c77a1be4d6fae2bd3718ca4cfcbe14655261a3a14d5bf55530a (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2018.1.tar.gz (357 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_29766844a49046c1974fc9176f96fe38\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_29766844a49046c1974fc9176f96fe38\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-cobbbal9'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_29766844a49046c1974fc9176f96fe38\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_29766844a49046c1974fc9176f96fe38\setup.py", line 265, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_29766844a49046c1974fc9176f96fe38\setup.py", line 102, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/21/c1/a859f1bd00bfaaba824cdf21b763b539d1c02734566c999422b0912353e1/pyopencl-2018.1.tar.gz#sha256=b692966bbaaa65ef8949ee25660d6b0cc7cbadc7f4a35eb9c5139dfa4dde6d4a (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2017.2.2.tar.gz (356 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_008abbc4e8b34e458776a94f95a6a340\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_008abbc4e8b34e458776a94f95a6a340\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-tpig98io'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_008abbc4e8b34e458776a94f95a6a340\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_008abbc4e8b34e458776a94f95a6a340\setup.py", line 265, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_008abbc4e8b34e458776a94f95a6a340\setup.py", line 102, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/37/2e/0c142179d00bac23bd354b99fe5a575fe7c322f2acd3fc19f1d1f7b7c2ce/pyopencl-2017.2.2.tar.gz#sha256=d2f7b04d2e819c6e90d6366b7712a7452a39fba218e51b11b02c85ab07fd2983 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2017.2.1.tar.gz (356 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_6b40e1192ec54b0d8dd9ecb54c7a61bf\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_6b40e1192ec54b0d8dd9ecb54c7a61bf\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-n0p6t248'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_6b40e1192ec54b0d8dd9ecb54c7a61bf\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_6b40e1192ec54b0d8dd9ecb54c7a61bf\setup.py", line 265, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_6b40e1192ec54b0d8dd9ecb54c7a61bf\setup.py", line 102, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/bb/b6/68a44a7371e86d1fa4e929dbb420f5a20a1c7abec95b8f57244106622d04/pyopencl-2017.2.1.tar.gz#sha256=508ffa9e9fe799dc929eae861d6555aff089ecd6e1c4a09156ecd688db07b778 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2017.2.tar.gz (350 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_e2f3e4b1bb4840078f78ed4c01299e6d\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_e2f3e4b1bb4840078f78ed4c01299e6d\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-d8cfp__x'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_e2f3e4b1bb4840078f78ed4c01299e6d\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_e2f3e4b1bb4840078f78ed4c01299e6d\setup.py", line 247, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_e2f3e4b1bb4840078f78ed4c01299e6d\setup.py", line 96, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/51/cd/6142228eb3b02df9e23e5468ce6c53d1c57275bdc05bccab11e1a1e1bfec/pyopencl-2017.2.tar.gz#sha256=039b689a58eb98e27a577ac086210deae959f40d657487f3199d2d217c270ff9 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2017.1.1.tar.gz (348 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_03bb1d6019434f9a964ab189c6693119\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_03bb1d6019434f9a964ab189c6693119\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-i4g9_gqf'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_03bb1d6019434f9a964ab189c6693119\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_03bb1d6019434f9a964ab189c6693119\setup.py", line 247, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_03bb1d6019434f9a964ab189c6693119\setup.py", line 96, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/37/d9/ed86f746640afc9f425af4f5034168f18cec9b608e9ebd6a16c76d855357/pyopencl-2017.1.1.tar.gz#sha256=928c458a463321c6c91e7fa54bf325bf71d7a8aa5ff750ec8fed2472f6aeb323 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2017.1.tar.gz (348 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_f0f10cbdc20544d69c730d397a60847e\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_f0f10cbdc20544d69c730d397a60847e\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-ghgifn2f'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_f0f10cbdc20544d69c730d397a60847e\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_f0f10cbdc20544d69c730d397a60847e\setup.py", line 247, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_f0f10cbdc20544d69c730d397a60847e\setup.py", line 96, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/f5/2a/f726a90d535ab1dbc690b22961c7b2b5fdf96bf39174cef837819b487449/pyopencl-2017.1.tar.gz#sha256=b5085b6412e5a1037b893853e4e47ecb36dd04586b0f8e1809f50f7fe1437dae (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2016.2.1.tar.gz (346 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_63ec22a1119f47ea930567d09fdd54c2\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_63ec22a1119f47ea930567d09fdd54c2\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-pm4tru_w'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_63ec22a1119f47ea930567d09fdd54c2\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_63ec22a1119f47ea930567d09fdd54c2\setup.py", line 247, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_63ec22a1119f47ea930567d09fdd54c2\setup.py", line 96, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/e6/42/a1ade483737b207ef10394c316f462bdd0330fcfadc9e05729067633acc6/pyopencl-2016.2.1.tar.gz#sha256=3fcb59ab9c85e08d96a24388a736cc3d0bbd9608efff96ecb25d3124fde6f4b7 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2016.2.tar.gz (343 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_71b29fb5c72c4daaa1da7be9dd46d0ea\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_71b29fb5c72c4daaa1da7be9dd46d0ea\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-0fb7vmr4'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_71b29fb5c72c4daaa1da7be9dd46d0ea\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_71b29fb5c72c4daaa1da7be9dd46d0ea\setup.py", line 247, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_71b29fb5c72c4daaa1da7be9dd46d0ea\setup.py", line 96, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/d6/28/a1670d301d6e7e54b4c4db800dc90a441898c90c4fff8f274b1436ee9eda/pyopencl-2016.2.tar.gz#sha256=1b94540cf59ea71a3ef234a8f1d0eb2b4633c112f0f554fb69e52b4a0337d82b (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2016.1.tar.gz (311 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_b805920fb301495b9e178d7b3a5e674e\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_b805920fb301495b9e178d7b3a5e674e\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-q44ikwdz'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_b805920fb301495b9e178d7b3a5e674e\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_b805920fb301495b9e178d7b3a5e674e\setup.py", line 234, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_b805920fb301495b9e178d7b3a5e674e\setup.py", line 91, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/cb/4e/fcb45db7d3005f5646f28a3de2a2f8e60a6e4b629f02bbb331320778f3a1/pyopencl-2016.1.tar.gz#sha256=54b6e8ad02dc437807739bd53e43851efe979bd51ec87996e44b94ab67238297 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2015.2.4.tar.gz (284 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_d5e5fb288b8643a590bd7db68417401b\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_d5e5fb288b8643a590bd7db68417401b\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-6apzdt9u'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_d5e5fb288b8643a590bd7db68417401b\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_d5e5fb288b8643a590bd7db68417401b\setup.py", line 234, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_d5e5fb288b8643a590bd7db68417401b\setup.py", line 91, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/cc/9f/8be1d80788d19cd156de0fd25eb2fab68bd5505998f3ca43763e39802a79/pyopencl-2015.2.4.tar.gz#sha256=f67d0099add79c6baae2359872dec82d1472bd4df42523d1604afcd10ed87398 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2015.2.3.tar.gz (279 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_a145d789bea64fef9a69616c3b66e750\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_a145d789bea64fef9a69616c3b66e750\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-_l1yk79v'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_a145d789bea64fef9a69616c3b66e750\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_a145d789bea64fef9a69616c3b66e750\setup.py", line 234, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_a145d789bea64fef9a69616c3b66e750\setup.py", line 91, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/87/1a/18b4711e10bb1870d3fcd6d32a5d982cf93023c04a9f7f4e4003ed2d463e/pyopencl-2015.2.3.tar.gz#sha256=8fdd0c317c14e82a50d861e75765ecd0275e9f288c9ef4b25f8aa6f1b2b582bb (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2015.2.2.tar.gz (279 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_1c5aa94cff314f1e9617fb962a45c798\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_1c5aa94cff314f1e9617fb962a45c798\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-5mjty4x1'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_1c5aa94cff314f1e9617fb962a45c798\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_1c5aa94cff314f1e9617fb962a45c798\setup.py", line 234, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_1c5aa94cff314f1e9617fb962a45c798\setup.py", line 91, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/91/b0/be520f54c79565cd3f5ca9ca80a415dec7071d90ba4ef227a3dfd774edf4/pyopencl-2015.2.2.tar.gz#sha256=9e16e8f9aec843aeca01038b5ad460b17f5880b21aa0d6aa0d7c593b2fdd08a2 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2015.2.1.tar.gz (278 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_fcdab4762c7840e79611594158ae9d23\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_fcdab4762c7840e79611594158ae9d23\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-tm9wb74e'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_fcdab4762c7840e79611594158ae9d23\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_fcdab4762c7840e79611594158ae9d23\setup.py", line 234, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_fcdab4762c7840e79611594158ae9d23\setup.py", line 91, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/89/59/29f749943debc4a84d6c86f9322d1ed4b9942470c6006c47c40c83cc9ce9/pyopencl-2015.2.1.tar.gz#sha256=7a1f4f4a1d4a90993d0038ba6aeb147b0e52f8d43d4ad14c9f6dcc27b10fa627 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2015.2.tar.gz (278 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_28e95985f8bc421bb1365d2fc51b8549\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_28e95985f8bc421bb1365d2fc51b8549\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-fimc755o'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_28e95985f8bc421bb1365d2fc51b8549\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_28e95985f8bc421bb1365d2fc51b8549\setup.py", line 234, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_28e95985f8bc421bb1365d2fc51b8549\setup.py", line 91, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/37/ef/2f2fcc5a3f0e5201e35fd1b984a2ff26af38be5f71d5aa12e1f11204837a/pyopencl-2015.2.tar.gz#sha256=45f6bcc2a195972e719772faf73d4f37d634f0b60f404d3d252ba91635563ca8 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2015.1.tar.gz (1.7 MB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_87f8f7eee0534bb1a8d6dd74a9a080d7\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_87f8f7eee0534bb1a8d6dd74a9a080d7\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-vsvomj5m'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_87f8f7eee0534bb1a8d6dd74a9a080d7\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_87f8f7eee0534bb1a8d6dd74a9a080d7\setup.py", line 255, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_87f8f7eee0534bb1a8d6dd74a9a080d7\setup.py", line 62, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/a8/71/e47431b9f3963b96c14d376a883c3e0834fd26cc139733a8ad2aa808dcd4/pyopencl-2015.1.tar.gz#sha256=823b8c5ae438a70de87b3675c3896d04d785261cb0cbd45c01c7dd0fe9d9f6ff (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2014.1.tar.gz (1.6 MB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_f9e070b5ec0f4a86bb7727baa5d4cf7c\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_f9e070b5ec0f4a86bb7727baa5d4cf7c\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-ef2rncdu'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_f9e070b5ec0f4a86bb7727baa5d4cf7c\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_f9e070b5ec0f4a86bb7727baa5d4cf7c\setup.py", line 249, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_f9e070b5ec0f4a86bb7727baa5d4cf7c\setup.py", line 62, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/e8/2a/4f2854d462432260fc952cd0d5370e85aaa0d0634b8b14e881095cd2eb6b/pyopencl-2014.1.tar.gz#sha256=7c8df4f22ef49516a1444760dc622a037c83079ff60ff81779e60cb9fc5410e7 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2013.2.tar.gz (1.6 MB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_65474db035c44c4693b0450e9d649b7b\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_65474db035c44c4693b0450e9d649b7b\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-e65ivbq8'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_65474db035c44c4693b0450e9d649b7b\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_65474db035c44c4693b0450e9d649b7b\setup.py", line 249, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_65474db035c44c4693b0450e9d649b7b\setup.py", line 62, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/c1/91/73dedaca7885c22bf1e0d785b1571b8b1fef5851e28d3e1c3d0c0d70ef64/pyopencl-2013.2.tar.gz#sha256=f8e4218e4e47d397886f5dabde16a4d8dcc12caa0cb16ec68cae31f89c94d918 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2013.1.tar.gz (1.7 MB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_ef8698fea1624c1c917a12fd7a9c9ab7\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_ef8698fea1624c1c917a12fd7a9c9ab7\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-sbmkvhgq'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_ef8698fea1624c1c917a12fd7a9c9ab7\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_ef8698fea1624c1c917a12fd7a9c9ab7\setup.py", line 249, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_ef8698fea1624c1c917a12fd7a9c9ab7\setup.py", line 62, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/e1/f7/d227e2ce1437f2d317456cde97f488f93d45870851ea997b80d44bb033e9/pyopencl-2013.1.tar.gz#sha256=5c1360a27bdc12ca9868158cc8eb3daa93d0efb05ad6f27f47a8bb4e4c9c5403 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2012.1.tar.gz (1.4 MB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_2100ccd682214f849dcb5c7162171ed0\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_2100ccd682214f849dcb5c7162171ed0\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-hxfz1ug7'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_2100ccd682214f849dcb5c7162171ed0\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_2100ccd682214f849dcb5c7162171ed0\setup.py", line 274, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_2100ccd682214f849dcb5c7162171ed0\setup.py", line 63, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/64/9b/d7344dbafd91cc148694d4a87599529c3970b3f43a7f69d3d3d008cdba12/pyopencl-2012.1.tar.gz#sha256=823c9af3540ab84221acf7978bf688d98c7635e19d6bdb4d6818c48235184297 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2011.2.tar.gz (1.3 MB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_795681720fe54c3ab128a6df9efedc91\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_795681720fe54c3ab128a6df9efedc91\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-ygmvhtwl'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_795681720fe54c3ab128a6df9efedc91\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_795681720fe54c3ab128a6df9efedc91\setup.py", line 244, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_795681720fe54c3ab128a6df9efedc91\setup.py", line 51, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/b7/45/70979e267fda4b2b53ff00dabb1d42bbaac29e180b5bb22732780828a4cc/pyopencl-2011.2.tar.gz#sha256=44e63472cfd3783e60c4c5a7f0ae3537fb95ffd6034ca3db226f5ca5a726d9b9 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2011.1.2.tar.gz (1.3 MB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_812e08cc23584269becaa60ae880b190\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_812e08cc23584269becaa60ae880b190\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-a5zvmo37'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_812e08cc23584269becaa60ae880b190\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_812e08cc23584269becaa60ae880b190\setup.py", line 234, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_812e08cc23584269becaa60ae880b190\setup.py", line 46, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/f1/79/482e90136f40e7d840b4552d3419a76ab07d02760d8e05e3f5ed51a0df14/pyopencl-2011.1.2.tar.gz#sha256=6c5faff5940d269f4af799e143affb4c259fccea579aeab5622138b7d4adbeb8 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2011.1.1.tar.gz (1.3 MB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_9595e82b8d2847b580e84f7a5e10e298\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_9595e82b8d2847b580e84f7a5e10e298\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-7kbuv126'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_9595e82b8d2847b580e84f7a5e10e298\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_9595e82b8d2847b580e84f7a5e10e298\setup.py", line 228, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_9595e82b8d2847b580e84f7a5e10e298\setup.py", line 46, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/c8/f5/84e640bbbf1bf8f237698e55a24c753e80b3aac0a024169b279cc92bfe0e/pyopencl-2011.1.1.tar.gz#sha256=86d4429b6b5d984e51090f5b2090feda8dc0e4954d7cba2b8b2505d87face966 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-2011.1.tar.gz (1.3 MB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_84c37b87c8644d578b7f0a33af0dfdf7\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_84c37b87c8644d578b7f0a33af0dfdf7\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-wxukxqvr'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_84c37b87c8644d578b7f0a33af0dfdf7\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_84c37b87c8644d578b7f0a33af0dfdf7\setup.py", line 228, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_84c37b87c8644d578b7f0a33af0dfdf7\setup.py", line 46, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/27/b7/0836351ae1fd4d6cbf5b67756feebca8516177d9926e7dc8927c7ed5df56/pyopencl-2011.1.tar.gz#sha256=822ec3c2176bb8998d18722086477dd63d29f93d9cf2b3651f1474de8402eb17 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-0.92.tar.gz (1.1 MB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_7dd20e4652c04b4da2b14ec45fe17052\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_7dd20e4652c04b4da2b14ec45fe17052\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-e7dqsbjm'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_7dd20e4652c04b4da2b14ec45fe17052\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_7dd20e4652c04b4da2b14ec45fe17052\setup.py", line 160, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_7dd20e4652c04b4da2b14ec45fe17052\setup.py", line 45, in main
        from aksetup_helper import (hack_distutils, get_config, setup,
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/e5/50/e4863f8a7c048402339a857cc787da732b3cff4195228bb05d82f7bc3a74/pyopencl-0.92.tar.gz#sha256=dbf9c1b166a8790896d52c550aa22c8a42bd4b6abdf29ae4d54317c62b587830 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-0.91.5.tar.gz (51 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_be16cdba843849a69f4dde59392fd3f8\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_be16cdba843849a69f4dde59392fd3f8\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-efjeq6ek'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_be16cdba843849a69f4dde59392fd3f8\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_be16cdba843849a69f4dde59392fd3f8\setup.py", line 162, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_be16cdba843849a69f4dde59392fd3f8\setup.py", line 34, in main
        from aksetup_helper import hack_distutils, get_config, setup, \
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/81/b8/80914755afca18afe700f71800829ca9ce804d7cb52d87740644113177e7/pyopencl-0.91.5.tar.gz#sha256=dd25ee1adce71b80b2bc3b0899e3347da957cdc366cdf597ea0b65cc2997bdec (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-0.91.4.tar.gz (49 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_c9d991d78a8e48bba48ae220389711f1\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_c9d991d78a8e48bba48ae220389711f1\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-20_cc8mo'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_c9d991d78a8e48bba48ae220389711f1\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_c9d991d78a8e48bba48ae220389711f1\setup.py", line 162, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_c9d991d78a8e48bba48ae220389711f1\setup.py", line 34, in main
        from aksetup_helper import hack_distutils, get_config, setup, \
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/6b/d7/524884b1606efc1da5a2b4dbc588600fc26cf39a3408f02e0a2784076a67/pyopencl-0.91.4.tar.gz#sha256=255eebbe076bf29c5eb75d92bcdb7218ac12506bb5d0597b2142d98425c42d3b (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-0.91.3.tar.gz (46 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_689049e49c5042b1a9ae455ae521e4b0\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_689049e49c5042b1a9ae455ae521e4b0\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-q3s9iuw_'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_689049e49c5042b1a9ae455ae521e4b0\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_689049e49c5042b1a9ae455ae521e4b0\setup.py", line 162, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_689049e49c5042b1a9ae455ae521e4b0\setup.py", line 34, in main
        from aksetup_helper import hack_distutils, get_config, setup, \
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/4d/8d/49a5ef10c020553ff5dd5c504e896a2c240f56f1a660a2cb8482fffc88a2/pyopencl-0.91.3.tar.gz#sha256=1eec288685bfd2ae05ee8b080a5b54ad100312ae992f5d97a9e5f5f3a025877a (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-0.91.2.tar.gz (44 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_a227b48e37104fcf842c2baffbbf0fb1\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_a227b48e37104fcf842c2baffbbf0fb1\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-ox59_suy'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_a227b48e37104fcf842c2baffbbf0fb1\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_a227b48e37104fcf842c2baffbbf0fb1\setup.py", line 162, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_a227b48e37104fcf842c2baffbbf0fb1\setup.py", line 34, in main
        from aksetup_helper import hack_distutils, get_config, setup, \
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/bb/89/974390e05fc0a09f72965f7e1927759d56f462d871b92a96c14058f79356/pyopencl-0.91.2.tar.gz#sha256=373a8d6ef7df7486e61aad0b565ee5d43cc365586e5127a8683ca484849a9966 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-0.91.1.tar.gz (42 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_a4493860482b440cba02862e60c71060\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_a4493860482b440cba02862e60c71060\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-ebm7blp8'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_a4493860482b440cba02862e60c71060\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_a4493860482b440cba02862e60c71060\setup.py", line 162, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_a4493860482b440cba02862e60c71060\setup.py", line 34, in main
        from aksetup_helper import hack_distutils, get_config, setup, \
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/35/34/9e4d6a5fe5d4d35dcfcf7b46270b9f853e5b9ec363564cd16aaec721abe5/pyopencl-0.91.1.tar.gz#sha256=0767b291198ca91dd222fa1554b3f19206fd3babaac990752c980bb87b3f9699 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-0.91.tar.gz (41 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_3b09052a46734ba4b1d0de73683ccaed\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_3b09052a46734ba4b1d0de73683ccaed\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-t71s35i9'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_3b09052a46734ba4b1d0de73683ccaed\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_3b09052a46734ba4b1d0de73683ccaed\setup.py", line 162, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_3b09052a46734ba4b1d0de73683ccaed\setup.py", line 34, in main
        from aksetup_helper import hack_distutils, get_config, setup, \
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/04/2f/7c126651912af140b6b06939c62e030977b864c796804b46f60f6eb739de/pyopencl-0.91.tar.gz#sha256=e0dd9478edf3ae709707fb7c430958c70e3d5337dd7a01297587027442de6671 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-0.90.4.tar.gz (35 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_d455a235c904443a849431eadac86258\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_d455a235c904443a849431eadac86258\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-l2k2h439'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_d455a235c904443a849431eadac86258\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_d455a235c904443a849431eadac86258\setup.py", line 156, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_d455a235c904443a849431eadac86258\setup.py", line 33, in main
        from aksetup_helper import hack_distutils, get_config, setup, \
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/ec/bd/ee8ac8ab8b618005199ed08496c028fd76d601fdcecd15ba1a8f75c15c31/pyopencl-0.90.4.tar.gz#sha256=9f23d6c198a87a3d697753c1c6e6a1fd3443cef733ddfaf949a2221978e8b0a2 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-0.90.3.tar.gz (35 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_5da5fc97c7b945d8b5b2c2ef7cb8d8e0\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_5da5fc97c7b945d8b5b2c2ef7cb8d8e0\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-xxnuolwa'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_5da5fc97c7b945d8b5b2c2ef7cb8d8e0\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_5da5fc97c7b945d8b5b2c2ef7cb8d8e0\setup.py", line 144, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_5da5fc97c7b945d8b5b2c2ef7cb8d8e0\setup.py", line 33, in main
        from aksetup_helper import hack_distutils, get_config, setup, \
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/4b/f8/032087e4cebbf5b6fa36a047bfc343eef0515604f07bc7552ebaa27d76dd/pyopencl-0.90.3.tar.gz#sha256=cdd2ee21651f78fc65138d36f98af276039d0f26aa65d52bb44269e2538ac74f (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-0.90.2.tar.gz (35 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_2856431474744549a4ab2ebfd6cc2bab\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_2856431474744549a4ab2ebfd6cc2bab\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-y254b3py'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_2856431474744549a4ab2ebfd6cc2bab\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_2856431474744549a4ab2ebfd6cc2bab\setup.py", line 144, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_2856431474744549a4ab2ebfd6cc2bab\setup.py", line 33, in main
        from aksetup_helper import hack_distutils, get_config, setup, \
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/e8/1f/544e56739aac3b35fe9a051eb58fc036fd5f1ef76b0ab01658dab9f44f47/pyopencl-0.90.2.tar.gz#sha256=3ba4eba5d0287bb7d9eb9eeec9e4ce29be3ca03a6669ed1650d192c9f43a25d7 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-0.90.1.tar.gz (33 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_aedc681a9d154f5b9ae2ef2f18fb7c07\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_aedc681a9d154f5b9ae2ef2f18fb7c07\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-bxfp_sjv'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_aedc681a9d154f5b9ae2ef2f18fb7c07\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_aedc681a9d154f5b9ae2ef2f18fb7c07\setup.py", line 144, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_aedc681a9d154f5b9ae2ef2f18fb7c07\setup.py", line 33, in main
        from aksetup_helper import hack_distutils, get_config, setup, \
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/dd/61/10135070e654bd79be5a44699f2f7985c93ae2deed45ca996e6ed6204804/pyopencl-0.90.1.tar.gz#sha256=e18a25b11ccc182c196b3a80f3ffff0638cd0eee34e2444aa5687706914844f3 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  Downloading pyopencl-0.90.tar.gz (33 kB)

    ERROR: Command errored out with exit status 1:
     command: 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_bee64d74cef14a04bced22c3c6b207f4\\setup.py'"'"'; __file__='"'"'C:\\Windows\\Temp\\pip-install-qm4s1j_7\\pyopencl_bee64d74cef14a04bced22c3c6b207f4\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Windows\Temp\pip-pip-egg-info-boqhqm6k'
         cwd: C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_bee64d74cef14a04bced22c3c6b207f4\
    Complete output (7 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_bee64d74cef14a04bced22c3c6b207f4\setup.py", line 140, in <module>
        main()
      File "C:\Windows\Temp\pip-install-qm4s1j_7\pyopencl_bee64d74cef14a04bced22c3c6b207f4\setup.py", line 33, in main
        from aksetup_helper import hack_distutils, get_config, setup, \
    ModuleNotFoundError: No module named 'aksetup_helper'
    ----------------------------------------

WARNING: Discarding https://files.pythonhosted.org/packages/e0/fe/7de6506e74fdf510ce0811496c13807f41b9f61d06db326b610648b26877/pyopencl-0.90.tar.gz#sha256=4ee220521842068a99106dde02ea7e29a17b3570e74c6fd97e05b5991e4f3a70 (from https://pypi.org/simple/pyopencl/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

Collecting napari-pyclesperanto-assistant

  Downloading napari_pyclesperanto_assistant-0.9.4-py3-none-any.whl (14.2 MB)

  Downloading napari_pyclesperanto_assistant-0.9.3-py3-none-any.whl (91 kB)

  Downloading napari_pyclesperanto_assistant-0.9.2-py3-none-any.whl (90 kB)

  Downloading napari_pyclesperanto_assistant-0.9.1-py3-none-any.whl (6.1 MB)

  Using cached napari_pyclesperanto_assistant-0.9.0-py3-none-any.whl (6.1 MB)

  Downloading napari_pyclesperanto_assistant-0.8.2-py3-none-any.whl (6.1 MB)

Collecting pyclesperanto-prototype==0.8.0

  Downloading pyclesperanto_prototype-0.8.0-py3-none-any.whl (546 kB)

Collecting napari==0.4.7

  Downloading napari-0.4.7-py3-none-any.whl (1.4 MB)

Collecting napari-pyclesperanto-assistant

  Downloading napari_pyclesperanto_assistant-0.8.1-py3-none-any.whl (6.1 MB)

Collecting cookiecutter

  Downloading cookiecutter-1.7.3-py2.py3-none-any.whl (34 kB)

Collecting napari-pyclesperanto-assistant

  Downloading napari_pyclesperanto_assistant-0.8.0-py3-none-any.whl (6.1 MB)

  Downloading napari_pyclesperanto_assistant-0.7.6-py3-none-any.whl (6.1 MB)

Collecting pyclesperanto-prototype==0.7.6

  Downloading pyclesperanto_prototype-0.7.6-py3-none-any.whl (541 kB)

Collecting napari-pyclesperanto-assistant

  Downloading napari_pyclesperanto_assistant-0.7.5-py3-none-any.whl (87 kB)

  Downloading napari_pyclesperanto_assistant-0.7.4-py3-none-any.whl (73 kB)

Collecting pyclesperanto-prototype==0.7.3

  Downloading pyclesperanto_prototype-0.7.3-py3-none-any.whl (537 kB)

Collecting magicgui==0.2.5

  Downloading magicgui-0.2.5-py2.py3-none-any.whl (68 kB)

Collecting napari-pyclesperanto-assistant

  Downloading napari_pyclesperanto_assistant-0.7.3-py3-none-any.whl (73 kB)

  Downloading napari_pyclesperanto_assistant-0.7.2-py3-none-any.whl (73 kB)

Collecting pyclesperanto-prototype==0.7.0

  Downloading pyclesperanto_prototype-0.7.0-py3-none-any.whl (536 kB)

Collecting napari-pyclesperanto-assistant

  Downloading napari_pyclesperanto_assistant-0.7.1-py3-none-any.whl (73 kB)

Collecting napari==0.4.3

  Downloading napari-0.4.3-py3-none-any.whl (1.3 MB)

Collecting napari-pyclesperanto-assistant

  Downloading napari_pyclesperanto_assistant-0.7.0-py3-none-any.whl (17 kB)

  Downloading napari_pyclesperanto_assistant-0.2.1-py3-none-any.whl (18 kB)

Collecting pyclesperanto-prototype==0.6.0

  Downloading pyclesperanto_prototype-0.6.0-py3-none-any.whl (386 kB)

Collecting napari-pyclesperanto-assistant

  Downloading napari_pyclesperanto_assistant-0.2.0-py3-none-any.whl (17 kB)

  Downloading napari_pyclesperanto_assistant-0.1.0-py3-none-any.whl (16 kB)

Collecting pyclesperanto-prototype

  Downloading pyclesperanto_prototype-0.9.5-py3-none-any.whl (567 kB)

ERROR: Cannot install napari-pyclesperanto-assistant==0.1.0, napari-pyclesperanto-assistant==0.2.0, napari-pyclesperanto-assistant==0.2.1, napari-pyclesperanto-assistant==0.7.0, napari-pyclesperanto-assistant==0.7.1, napari-pyclesperanto-assistant==0.7.2, napari-pyclesperanto-assistant==0.7.3, napari-pyclesperanto-assistant==0.7.4, napari-pyclesperanto-assistant==0.7.5, napari-pyclesperanto-assistant==0.7.6, napari-pyclesperanto-assistant==0.8.0, napari-pyclesperanto-assistant==0.8.1, napari-pyclesperanto-assistant==0.8.2, napari-pyclesperanto-assistant==0.9.0, napari-pyclesperanto-assistant==0.9.1, napari-pyclesperanto-assistant==0.9.2, napari-pyclesperanto-assistant==0.9.3, napari-pyclesperanto-assistant==0.9.4 and napari-pyclesperanto-assistant==0.9.5 because these package versions have conflicting dependencies.


The conflict is caused by:
    napari-pyclesperanto-assistant 0.9.5 depends on pyopencl
    napari-pyclesperanto-assistant 0.9.4 depends on pyopencl
    napari-pyclesperanto-assistant 0.9.3 depends on pyopencl
    napari-pyclesperanto-assistant 0.9.2 depends on pyopencl
    napari-pyclesperanto-assistant 0.9.1 depends on pyopencl
    napari-pyclesperanto-assistant 0.9.0 depends on pyopencl
    napari-pyclesperanto-assistant 0.8.2 depends on pyopencl
    napari-pyclesperanto-assistant 0.8.1 depends on pyopencl
    napari-pyclesperanto-assistant 0.8.0 depends on pyopencl
    napari-pyclesperanto-assistant 0.7.6 depends on pyopencl
    napari-pyclesperanto-assistant 0.7.5 depends on pyopencl
    napari-pyclesperanto-assistant 0.7.4 depends on pyopencl
    napari-pyclesperanto-assistant 0.7.3 depends on pyopencl
    napari-pyclesperanto-assistant 0.7.2 depends on pyopencl
    napari-pyclesperanto-assistant 0.7.1 depends on pyopencl
    napari-pyclesperanto-assistant 0.7.0 depends on pyopencl
    napari-pyclesperanto-assistant 0.2.1 depends on pyopencl
    napari-pyclesperanto-assistant 0.2.0 depends on pyopencl
    napari-pyclesperanto-assistant 0.1.0 depends on pyopencl

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

WARNING: You are using pip version 21.1.2; however, version 21.1.3 is available.
You should consider upgrading via the 'C:\Users\rober\AppData\Local\Programs\napari\python\python.exe -m pip install --upgrade pip' command.

bump magicgui dependency to 0.2.1

When updating magicgui to version 0.2.1. we need to

  • update minimum and maximum slider values to min and max to use the new magicgui API
  • remove the operation.Gui() to operation

FYI: on napari main (0.4.13.dev171+ge4f745f) Assistant fails to work

If napari is installed from GitHub:
pip install git+https://github.com/napari/napari.git
then the Assistant doesn't work. Can test with Sample images, for example Blobs.
Open Blobs and try to binarize—or any other operation.
When the binerize panel opens, the input image dropdown is greyed out and a warning is generated:
UserWarning: Operation failed. Please check input parameters and documentation.!
This is in a fresh conda env, 3.9.9, on macOS 12, M1 (arm64).
Uninstalling napari and reinstalling live 0.4.12 makes the plugin work fine again.

Some sub-widget spawns wide and block resizing in 0.15.1

With just the Assistant open, the side widget is resizable from 9 tiles wide to 4 tiles wide.
If the Assistant is 4 wide, and Label tile is selected, the new sub-widget makes the side panel 6 wide with an extra free space and resizing is not possible.
This also appears to happen for: Combine, Projection, Measure Labels, Measure Labeled Image ...
Other sub-widgets such as Remove Noise don't have this behavior.

I think this is somehow connected to the length of the function names in the dropdown boxes within the widgets?

Being able to see the whole name is nice, but at some point on a smaller monitor this is a bit annoying because it makes the main canvas really small.

Two Voronoi Otsu Labelings, but one results in error

The drop down in the Label widget has in the Operation list two entries for voronoi otsu labeling:
image
The top one: Voronoi-Otsu-labeling results in a long spinning beachball and error on macOS 12.1, napari 0.4.14:

2022-02-13 11:10:38.267 | INFO     | napari_pyclesperanto_assistant._gui._category_widget:call_op:120 - cle.voronoi_otsu_labeling (clesperanto)(..., 2.0, 2.0)
2022-02-13 11:10:38.650 | DEBUG    | napari_pyclesperanto_assistant._gui._category_widget:_show_result:219 - creating new layer for id: 5502808128
2022-02-13 11:11:02.776 | ERROR    | napari_pyclesperanto_assistant._gui._category_widget:gui_function:324 - An error has been caught in function 'gui_function', process 'MainProcess' (27274), thread 'MainThread' (4342056320):
Traceback (most recent call last):

  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/bin/napari", line 10, in <module>
    sys.exit(main())
    │   │    └ <function main at 0x12442c790>
    │   └ <built-in function exit>
    └ <module 'sys' (built-in)>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari/__main__.py", line 449, in main
    _run()
    └ <function _run at 0x12442c5e0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari/__main__.py", line 338, in _run
    run(gui_exceptions=True)
    └ <function run at 0x12480ca60>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari/_qt/qt_event_loop.py", line 402, in run
    app.exec_()
    │   └ <built-in method exec_>
    └ <PyQt5.QtWidgets.QApplication object at 0x124fbddc0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/backends/_qtpy/widgets.py", line 646, in _emit_data
    self._event_filter.valueChanged.emit(self._qwidget.itemData(index))
    │    │             │                 │    │        │        └ 7
    │    │             │                 │    │        └ <built-in method itemData>
    │    │             │                 │    └ <PyQt5.QtWidgets.QComboBox object at 0x13169aee0>
    │    │             │                 └ <magicgui.backends._qtpy.widgets.ComboBox object at 0x1316907f0>
    │    │             └ <unbound PYQT_SIGNAL valueChanged(PyQt_PyObject)>
    │    └ <magicgui.backends._qtpy.widgets.EventFilter object at 0x13169a280>
    └ <magicgui.backends._qtpy.widgets.ComboBox object at 0x1316907f0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/widgets/_bases/value_widget.py", line 57, in _on_value_change
    self.changed.emit(value)
    │    │       │    └ 'Voronoi-Otsu-labeling (clesperanto)'
    │    │       └ <cyfunction SignalInstance.emit at 0x103049790>
    │    └ <SignalInstance 'changed' on ComboBox(value='Voronoi-Otsu-labeling (clesperanto)', annotation=<class 'str'>, name='op_name')>
    └ ComboBox(value='Voronoi-Otsu-labeling (clesperanto)', annotation=<class 'str'>, name='op_name')
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/events.py", line 85, in _run_emit_loop
    cb(*args[:max_args])
    │   │     └ 0
    │   └ ('Voronoi-Otsu-labeling (clesperanto)',)
    └ <function ContainerWidget.insert.<locals>.<lambda> at 0x16c820e50>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/widgets/_bases/container_widget.py", line 165, in <lambda>
    widget.changed.connect(lambda: self.changed.emit(self))
                                   │    │       │    └ <FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:0' at 0x14f5089d0>, op_name: str = 'Voro...
                                   │    │       └ <cyfunction SignalInstance.emit at 0x103049790>
                                   │    └ <SignalInstance 'changed' on <FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:0' at 0x14f...
                                   └ <FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:0' at 0x14f5089d0>, op_name: str = 'Voro...
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/events.py", line 85, in _run_emit_loop
    cb(*args[:max_args])
    │   │     └ 0
    │   └ (<FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:0' at 0x14f5089d0>, op_name: str = 'Vor...
    └ <bound method FunctionGui._on_change of <FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:...
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/widgets/_function_gui.py", line 221, in _on_change
    self()
    └ <FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:0' at 0x14f5089d0>, op_name: str = 'Voro...
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/widgets/_function_gui.py", line 303, in __call__
    value = self._function(*bound.args, **bound.kwargs)
            │    │          │     │       │     └ <property object at 0x10301e130>
            │    │          │     │       └ <BoundArguments (input0=<Image layer 'Image:0' at 0x14f5089d0>, op_name='Voronoi-Otsu-labeling (clesperanto)', x=2.0, y=2.0, ...
            │    │          │     └ <property object at 0x10301e0e0>
            │    │          └ <BoundArguments (input0=<Image layer 'Image:0' at 0x14f5089d0>, op_name='Voronoi-Otsu-labeling (clesperanto)', x=2.0, y=2.0, ...
            │    └ <function make_gui_for_category.<locals>.gui_function at 0x147fe3040>
            └ <FunctionGui do_label(*, input0: napari.layers.base.base.Layer = <Image layer 'Image:0' at 0x14f5089d0>, op_name: str = 'Voro...
> File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_category_widget.py", line 324, in gui_function
    result, used_args = call_op(op_name, inputs, t_position, viewer, **kwargs)
                        │       │        │       │           │         └ {'x': 2.0, 'y': 2.0, 'z': 0.0, 'u': 0.0, 'v': 0.0, 'w': 0.0, 'a': False, 'b': False, 'c': False, 'k': '', 'l': '', 'm': ''}
                        │       │        │       │           └ Viewer(axes=Axes(visible=False, labels=True, colored=True, dashed=False, arrows=True), camera=Camera(center=(0.0, 126.5, 127....
                        │       │        │       └ None
                        │       │        └ [<Image layer 'Image:0' at 0x14f5089d0>]
                        │       └ 'Voronoi-Otsu-labeling (clesperanto)'
                        └ <function call_op at 0x14df454c0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_category_widget.py", line 154, in call_op
    gpu_out = gpu_out.astype(int)
              │       └ <function OCLArray.astype at 0x14d91e700>
              └ cl.Array([[ 0,  0,  0, ..., 86, 86, 86],
                       [ 0,  0,  0, ..., 86, 86, 86],
                       [ 0,  0,  0, ..., 86, 86, 86],
                       ....
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_pycl.py", line 148, in astype
    return copy(self, copied)
           │    │     └ cl.Array([[0, 0, 0, ..., 0, 0, 0],
           │    │              [0, 0, 0, ..., 0, 0, 0],
           │    │              [0, 0, 0, ..., 0, 0, 0],
           │    │              ...,
           │    │              [0, 0, ...
           │    └ cl.Array([[ 0,  0,  0, ..., 86, 86, 86],
           │             [ 0,  0,  0, ..., 86, 86, 86],
           │             [ 0,  0,  0, ..., 86, 86, 86],
           │             ....
           └ <function copy at 0x14d93c280>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_plugin_function.py", line 71, in worker_function
    return function(*bound.args, **bound.kwargs)
           │         │     │       │     └ <property object at 0x10301e130>
           │         │     │       └ <BoundArguments (source=cl.Array([[ 0,  0,  0, ..., 86, 86, 86],
           │         │     │                [ 0,  0,  0, ..., 86, 86, 86],
           │         │     │                [ 0,  0,  0, .....
           │         │     └ <property object at 0x10301e0e0>
           │         └ <BoundArguments (source=cl.Array([[ 0,  0,  0, ..., 86, 86, 86],
           │                  [ 0,  0,  0, ..., 86, 86, 86],
           │                  [ 0,  0,  0, .....
           └ <function copy at 0x14d93c1f0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier1/_copy.py", line 36, in copy
    execute(__file__, '../clij-opencl-kernels/kernels/copy_' + str(len(destination.shape)) + 'd_x.cl', 'copy_' + str(len(destination.shape)) + 'd', destination.shape, parameters)
    │       │                                                          │           │                                     │           │              │           │      └ {'dst': cl.Array([[0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                     │           │              │           │               [0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                     │           │              │           │               [0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                     │           │              │           │               ...,
    │       │                                                          │           │                                     │           │              │           │              ...
    │       │                                                          │           │                                     │           │              │           └ (254, 256)
    │       │                                                          │           │                                     │           │              └ cl.Array([[0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                     │           │                       [0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                     │           │                       [0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                     │           │                       ...,
    │       │                                                          │           │                                     │           │                       [0, 0, ...
    │       │                                                          │           │                                     │           └ (254, 256)
    │       │                                                          │           │                                     └ cl.Array([[0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                              [0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                              [0, 0, 0, ..., 0, 0, 0],
    │       │                                                          │           │                                              ...,
    │       │                                                          │           │                                              [0, 0, ...
    │       │                                                          │           └ (254, 256)
    │       │                                                          └ cl.Array([[0, 0, 0, ..., 0, 0, 0],
    │       │                                                                   [0, 0, 0, ..., 0, 0, 0],
    │       │                                                                   [0, 0, 0, ..., 0, 0, 0],
    │       │                                                                   ...,
    │       │                                                                   [0, 0, ...
    │       └ '/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier1/_copy.py'
    └ <function execute at 0x14d7d24c0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_execute.py", line 3, in execute
    return Backend.get_instance().get().execute(anchor, opencl_kernel_filename, kernel_name, global_size, parameters, prog, constants, image_size_independent_kernel_compilation, device)
           │       │                            │       │                       │            │            │           │     │          │                                          └ None
           │       │                            │       │                       │            │            │           │     │          └ None
           │       │                            │       │                       │            │            │           │     └ None
           │       │                            │       │                       │            │            │           └ None
           │       │                            │       │                       │            │            └ {'dst': cl.Array([[0, 0, 0, ..., 0, 0, 0],
           │       │                            │       │                       │            │                     [0, 0, 0, ..., 0, 0, 0],
           │       │                            │       │                       │            │                     [0, 0, 0, ..., 0, 0, 0],
           │       │                            │       │                       │            │                     ...,
           │       │                            │       │                       │            │                    ...
           │       │                            │       │                       │            └ (254, 256)
           │       │                            │       │                       └ 'copy_2d'
           │       │                            │       └ '../clij-opencl-kernels/kernels/copy_2d_x.cl'
           │       │                            └ '/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier1/_copy.py'
           │       └ <classmethod object at 0x14d594ca0>
           └ <class 'pyclesperanto_prototype._tier0._backends.Backend'>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_opencl_backend.py", line 41, in execute
    return execute(anchor, opencl_kernel_filename, kernel_name, global_size, parameters, prog, constants, image_size_independent_kernel_compilation, device)
           │       │       │                       │            │            │           │     │          │                                          └ None
           │       │       │                       │            │            │           │     │          └ None
           │       │       │                       │            │            │           │     └ None
           │       │       │                       │            │            │           └ None
           │       │       │                       │            │            └ {'dst': cl.Array([[0, 0, 0, ..., 0, 0, 0],
           │       │       │                       │            │                     [0, 0, 0, ..., 0, 0, 0],
           │       │       │                       │            │                     [0, 0, 0, ..., 0, 0, 0],
           │       │       │                       │            │                     ...,
           │       │       │                       │            │                    ...
           │       │       │                       │            └ (254, 256)
           │       │       │                       └ 'copy_2d'
           │       │       └ '../clij-opencl-kernels/kernels/copy_2d_x.cl'
           │       └ '/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier1/_copy.py'
           └ <function execute at 0x17ea408b0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_opencl_execute.py", line 311, in execute
    prog = device.program_from_source("\n".join(defines))
           │      │                             └ ['#define MAX_ARRAY_SIZE 1000', '#define GET_IMAGE_WIDTH(image_key) image_size_ ## image_key ## _width', '#define GET_IMAGE_H...
           │      └ <functools._lru_cache_wrapper object at 0x14d8f5ae0>
           └ <Apple M1 on Platform: Apple (58 refs)>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_device.py", line 26, in program_from_source
    return OCLProgram(src_str=source, dev=self)
           │                  │           └ <Apple M1 on Platform: Apple (58 refs)>
           │                  └ '#define MAX_ARRAY_SIZE 1000\n#define GET_IMAGE_WIDTH(image_key) image_size_ ## image_key ## _width\n#define GET_IMAGE_HEIGHT...
           └ <class 'pyclesperanto_prototype._tier0._program.OCLProgram'>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_program.py", line 28, in __init__
    self.build(options=build_options)
    │    │             └ []
    │    └ <function Program.build at 0x14d8b8c10>
    └ <pyclesperanto_prototype._tier0._program.OCLProgram object at 0x131542280>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyopencl/__init__.py", line 536, in build
    self._prg, was_cached = self._build_and_catch_errors(
    │    │                  │    └ <function Program._build_and_catch_errors at 0x14d8b8ca0>
    │    │                  └ <pyclesperanto_prototype._tier0._program.OCLProgram object at 0x131542280>
    │    └ None
    └ <pyclesperanto_prototype._tier0._program.OCLProgram object at 0x131542280>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyopencl/__init__.py", line 584, in _build_and_catch_errors
    raise err
          └ RuntimeError(<pyopencl._cl._ErrorRecord object at 0x1315417b0>)

pyopencl._cl.RuntimeError: clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE - clBuildProgram failed: BUILD_PROGRAM_FAILURE

Build on <pyopencl.Device 'Apple M1' on 'Apple' at 0x1027f00>:

Compiler encountered an internal error
(options: -I /Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyopencl/cl)
(source saved as /var/folders/sy/y3_x27j14cxg3_vhycs6cr_h0000gn/T/tmp_yz2cknb.cl)

The bottom one voronoi_otsu_labeling works fine.
Should there be two in the menu?

plugin not visible while installed

Hello,

First of all, this looks like a really cool tool, so I am looking forward to use it in my workflows! However, I can't seem to get it installed properly. I already attempted to get this to work on multiple machines, but I did not succeed.
For the installation of my environment I use the following commands:

conda create --name napari-test python==3.8.5
conda activate napari-test
conda install -c conda-forge pyopencl
pip install napari-pyclesperanto-assistant
pip install "napari[all]"

As you can see, this is similar to the installation instructions.
After this, I try to visualize an image using napari, either by calling napari via the terminal using napari, or by calling napari via a notebook using the following code:

from PIL import Image
import numpy as np
import napari

ch0 = np.array(Image.open('./test-files/ch0.tif'))

preview = napari.Viewer()
preview.add_image(ch0, colormap='blue')
napari.run()

In either of the cases, I can open napari as it should and I can see my image correctly.

When I look at the plugin tab though, I cannot only see the napari-time-slicer and the napari_skimage_regionprops2 plugins, while napari-pyclesperanto-assistant is present in conda list.

I tried uninstalling napari-pyclesperanto-assistant, restarting napari, installing napari-pyclesperanto-assistant, and restarting napari, but I can't get the plugin to appear.

Am I missing something obvious, or is there something else going on?

Kind regards,
Dirk

Blobs sample missing in 0.15.0

Trying to open the File > Open Sample > clesperanto > Blobs gives an error in 0.15.0 (works fine in 0.14.1) on napari 0.4.14
Error:

ValueError: Requested path '/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari_pyclesperanto_assistant/data/blobs.tif' does not exist.

Here's the listing:

╰─                                                                (napari-CL) ─╯
╭─ ~ ···································································· ✔ ─╮
╰─ ls /Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari_pyclesperanto_assistant/
__init__.py				_napari_cle_functions.py
__pycache__				_napari_plugin.py
_categories.py				_pipeline.py
_convert_to_numpy.py			_statistics_of_labeled_pixels.py
_gui					_tests

The data folder is missing?

Napari details:

``` napari: 0.4.14 Platform: macOS-12.1-arm64-arm-64bit System: MacOS 12.1 Python: 3.9.10 | packaged by conda-forge | (main, Feb 1 2022, 21:27:43) [Clang 11.1.0 ] Qt: 5.15.2 PyQt5: 5.15.4 NumPy: 1.22.2 SciPy: 1.8.0 Dask: 2022.01.1 VisPy: 0.9.6

OpenGL:

  • GL version: 2.1 Metal - 76.3
  • MAX_TEXTURE_SIZE: 16384

Screens:

  • screen 1: resolution 1680x1050, scale 2.0

Plugins:

  • aicsimageio-in-memory: 0.4.1
  • aicsimageio-out-of-memory: 0.4.1
  • clEsperanto: 0.15.0
  • console: 0.0.4
  • napari-time-slicer: 0.4.3
  • napari-tools-menu: 0.1.10
  • napari_skimage_regionprops1: 0.2.9
  • napari_skimage_regionprops2: 0.2.9
  • ome-types: 0.2.9
  • scikit-image: 0.4.14
  • svg: 0.1.5
</details>

Why does README pin pyopencl?

Curious, why does the README pin pyopencl to 2021.2.1 ?
conda install -c conda-forge pyopencl==2021.2.1
The requirements do not do so, and newer pyopencl works just fine in my experience.
Why not just conda install -c conda-forge pyopencl ?
The pin will, for example, make the install process fail on Apple Silicon M1.

Neighbourhood-based measurements are not computed

Hi @haesleinhuepf,
I think this is a bug because returned measurements table does not contain any neighbourhood-based measurements.
napari-pyclesperanto-assistant 0.21.0
If you point me to the right direction, I could send a PR to fix this :) Or should this checkbox be removed because neighbourhood measurements can be found in another place?
image

If only neighbours box is selected, it results in Keyerror:
image

Error in starting Assistant(na)

Hi, Robert,

I encountered issues to start Assistant(na). Please see below for the traceback.

============

LogicError Traceback (most recent call last)
File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/napari_tools_menu/init.py:83, in ToolsMenu.make_sub_sub_menu..func(whatever=False)
78 break
79 # cannot look for param.kind == param.VAR_KEYWORD because
80 # QWidget allows **kwargs but errs on unknown keyword arguments
81
82 # instantiate the widget
---> 83 wdg = action(**kwargs)
action = <class 'napari_assistant._gui._Assistant.Assistant'>
kwargs = {'napari_viewer': Viewer(camera=Camera(center=(0.0, 255.5, 255.5), zoom=1.51220703125, angles=(0.0, 0.0, 90.0), perspective=0.0, mouse_pan=True, mouse_zoom=True), cursor=Cursor(position=(505.1351307717145, 649.2952857604134), scaled=True, size=1, style=<CursorStyle.STANDARD: 'standard'>), dims=Dims(ndim=2, ndisplay=2, last_used=0, range=((0.0, 512.0, 1.0), (0.0, 512.0, 1.0)), current_step=(255, 255), order=(0, 1), axis_labels=('1', '2')), grid=GridCanvas(stride=-1, shape=(-1, -1), enabled=False), layers=[<Image layer 'human_mitosis' at 0x15ebd01f0>], help='use <2> for transform', status={'layer_base': 'human_mitosis', 'source_type': 'sample', 'plugin': 'napari builtins', 'coordinates': ' [505 649]'}, tooltip=Tooltip(visible=False, text=''), theme='dark', title='napari', mouse_over_canvas=True, mouse_move_callbacks=[], mouse_drag_callbacks=[], mouse_double_click_callbacks=[], mouse_wheel_callbacks=[<function dims_scroll at 0x158a14d30>], _persisted_mouse_event={}, _mouse_drag_gen={}, _mouse_wheel_gen={}, keymap={})}
84 dw = napari_viewer.window.add_dock_widget(wdg, name=title)
85 if dw is not None:
86 # workaround for napari/napari#4348

File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/napari_assistant/_gui/_Assistant.py:63, in Assistant.init(self=<napari_assistant._gui._Assistant.Assistant object>, napari_viewer=Viewer(camera=Camera(center=(0.0, 255.5, 255.5),...ouse_drag_gen={}, _mouse_wheel_gen={}, keymap={}))
60 self.icon_grid.addItems(filter_categories(search_string))
62 self.seach_field.textChanged.connect(text_changed)
---> 63 text_changed()
65 # create menu
66 self.actions = [
67 ("Export Python script to file", self.to_python),
68 ("Export Jupyter Notebook", self.to_notebook),
69 ("Export Jupyter Notebook using Napari", self.to_notebook_using_napari),
70 ("Copy Python code to clipboard", self.to_clipboard),
71 ]

File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/napari_assistant/_gui/_Assistant.py:60, in Assistant.init..text_changed(*args=(), **kwargs={})
58 search_string = self.seach_field.text().lower()
59 self.icon_grid.clear()
---> 60 self.icon_grid.addItems(filter_categories(search_string))
search_string = ''
self.icon_grid = <napari_assistant._gui._button_grid.ButtonGrid object at 0x1750e4dc0>
self = <napari_assistant._gui._Assistant.Assistant object at 0x174960310>

File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/napari_assistant/categories.py:627, in filter_categories(search_string='')
625 result[k] = c
626 else:
--> 627 choices = operations_in_menu(c, search_string)
search_string = ''
c = Category(name='Remove noise', description='Remove noise from images, e.g. by local averaging and blurring.', inputs=(typing.Annotated[napari.layers.image.image.Image, {'label': 'Image'}],), default_op='gaussian_blur (clesperanto)', default_values=[1, 1, 0], next_step_suggestions=['Remove noise', 'Remove background', 'Binarize', 'Label', 'Combine', 'Filter'], output='image', include=('filter', 'denoise'), exclude=('combine',), color_map='gray', blending=None, tool_tip='', tools_menu='Filtering / noise removal', auto_call=True)
628 c.tool_tip = c.description + "\n\nOperations:\n* " + "\n* ".join(choices).replace("
", " ")
629 if len(choices) > 0:

File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/napari_assistant/_categories.py:517, in operations_in_menu(category=Category(name='Remove noise', description='Remov...menu='Filtering / noise removal', auto_call=True), search_string='')
515 return []
516 menu_name = category.tools_menu
--> 517 choices = filter_operations(menu_name)
menu_name = 'Filtering / noise removal'
519 all_ops = all_operations()
521 if search_string is not None and len(search_string) > 0:

File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/napari_assistant/_categories.py:504, in filter_operations(menu_name='Filtering / noise removal')
491 """
492 Find functions that contain a given name
493 Parameters
(...)
501 Dictionary of name-function pairs
502 """
503 result = {}
--> 504 for k,v in all_operations().items():
all_operations = <functools._lru_cache_wrapper object at 0x1643727c0>
505 if menu_name+">" in k:
506 result[k] = v

File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/napari_assistant/_categories.py:302, in all_operations()
293 """Get a dictionary of all compatible functions of installed plugins
294
295 Returns
(...)
299
300 """
301 # harvest functions from clesperanto
--> 302 cle_ops = collect_from_pyclesperanto_if_installed()
304 # harvest functions from napari-tools-menu
305 tools_ops = collect_from_tools_menu_if_installed()

File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/napari_assistant/_categories.py:381, in collect_from_pyclesperanto_if_installed()
379 from napari_time_slicer import time_slicer
380 try:
--> 381 import pyclesperanto_prototype as cle
382 except ImportError:
383 print("Assistant skips harvesting pyclesperanto as it's not installed.")

File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/pyclesperanto_prototype/init.py:1
----> 1 from ._tier0 import *
2 from ._tier1 import *
3 from ._tier2 import *

File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/init.py:55
53 from sys import platform
54 if platform == "darwin":
---> 55 device_name = str(get_device())
56 if "Intel" in device_name:
57 select_device("CPU")

File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_device.py:45, in get_device()
43 def get_device() -> Device:
44 """Get the current device GPU class."""
---> 45 return _current_device._instance or select_device()
_current_device._instance = None

File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_device.py:75, in select_device(name=None, dev_type=None, score_key=None, device_index=-1)
71 except:
72 pass
---> 75 device = filter_devices(name, dev_type, score_key)[device_index]
device_index = -1
name = None
dev_type = None
score_key = None
76 if name is not None and name not in device.name:
77 warnings.warn(f"No OpenCL device found with {name} in their name. Using {device.name} instead.")

File ~/anaconda3/envs/cle_39/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_device.py:107, in filter_devices(name=None, dev_type=None, score_key=None)
95 """Filter devices based on various options
96
97 :param name: First device that contains name will be returned, defaults to None
(...)
104 :rtype: List[cl.Device]
105 """
106 devices = []
--> 107 for platform in cl.get_platforms():
cl = <module 'pyopencl' from '/Users/yangl125/anaconda3/envs/cle_39/lib/python3.9/site-packages/pyopencl/init.py'>
108 for device in platform.get_devices():
109 if name and name.lower() in device.name.lower():

LogicError: clGetPlatformIDs failed: PLATFORM_NOT_FOUND_KHR

Best,
Li-Ling

Assistant should provide clear warning when pyopencl not installed

I've been setting up python/napari on a new machine, creating an environment with conda, and then pip installing various napari plugins including pip install napari-pyclesperanto-assistant (mostly to grab all its dependencies).

Using napari or naparia in the command prompt gives the following message on the next line "Assistant skips harvesting pyclesperanto as it's not installed." Checking packages, it certainly was correctly installed.

By viewing tracebacks from my plugins which depend on pyclesperanto, I was able to determine the actual error was lack of pyopencl.

I suggest either adding pyopencl as a dependency to pyclesperanto, or changing the error message for napari-assistant (though this is less targeted at the source).

`Operation failed` for images imported with `napari-aicsimageio` (xarray issue?)

This for sure used to work, because it was my normal work flow...but I'm not sure when it started to fail, because I've been swamped and away from the microscope for a number of months.
Anyhow, currently (napari 04.14, pyCL-assistant 0.15.3) doing Background subtraction gives an Operation Failed message and the following is printed for a LIF imported using napari-aicsimageio (doesn't matter whether in- or out-of-memory).

2022-02-17 21:30:03.554 | INFO     | napari_pyclesperanto_assistant._gui._category_widget:call_op:124 - cle.top_hat_box (clesperanto)(..., 10.0, 10.0, 0.0)
2022-02-17 21:30:03.588 | ERROR    | napari_pyclesperanto_assistant._gui._category_widget:gui_function:328 - An error has been caught in function 'gui_function', process 'MainProcess' (77252), thread 'MainThread' (4380247424):
Traceback (most recent call last):

  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/bin/napari", line 10, in <module>
    sys.exit(main())
    │   │    └ <function main at 0x1135f8790>
    │   └ <built-in function exit>
    └ <module 'sys' (built-in)>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari/__main__.py", line 449, in main
    _run()
    └ <function _run at 0x1135f85e0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari/__main__.py", line 338, in _run
    run(gui_exceptions=True)
    └ <function run at 0x1138d0a60>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari/_qt/qt_event_loop.py", line 402, in run
    app.exec_()
    │   └ <built-in method exec_>
    └ <PyQt5.QtWidgets.QApplication object at 0x114055dc0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_Assistant.py", line 171, in _on_item_clicked
    self._activate(CATEGORIES.get(item.text()))
    │    │         │          │   │    └ <built-in method text>
    │    │         │          │   └ <PyQt5.QtWidgets.QListWidgetItem object at 0x1507a1dc0>
    │    │         │          └ <method 'get' of 'dict' objects>
    │    │         └ {'Remove noise': Category(name='Removal noise', description='Remove noise from images, e.g. by local averaging and blurring.'...
    │    └ <function Assistant._activate at 0x132bc8c10>
    └ <napari_pyclesperanto_assistant._gui._Assistant.Assistant object at 0x119436af0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_Assistant.py", line 202, in _activate
    self._layers[gui()] = (dw, gui)
    │    │       │         │   └ <FunctionGui do_remove_background(*, input0: napari.layers.image.image.Image = <Image layer '0 :: A3 Region2_Merged' at 0x130...
    │    │       │         └ <napari._qt.widgets.qt_viewer_dock_widget.QtViewerDockWidget object at 0x1694bde50>
    │    │       └ <FunctionGui do_remove_background(*, input0: napari.layers.image.image.Image = <Image layer '0 :: A3 Region2_Merged' at 0x130...
    │    └ {}
    └ <napari_pyclesperanto_assistant._gui._Assistant.Assistant object at 0x119436af0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/magicgui/widgets/_function_gui.py", line 303, in __call__
    value = self._function(*bound.args, **bound.kwargs)
            │    │          │     │       │     └ <property object at 0x10578e130>
            │    │          │     │       └ <BoundArguments (input0=<Image layer '0 :: A3 Region2_Merged' at 0x130d05670>, op_name='top_hat_box (clesperanto)', x=10.0, y...
            │    │          │     └ <property object at 0x10578e0e0>
            │    │          └ <BoundArguments (input0=<Image layer '0 :: A3 Region2_Merged' at 0x130d05670>, op_name='top_hat_box (clesperanto)', x=10.0, y...
            │    └ <function make_gui_for_category.<locals>.gui_function at 0x15023fee0>
            └ <FunctionGui do_remove_background(*, input0: napari.layers.image.image.Image = <Image layer '0 :: A3 Region2_Merged' at 0x130...
> File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_category_widget.py", line 328, in gui_function
    result, used_args = call_op(op_name, inputs, t_position, viewer, **kwargs)
                        │       │        │       │           │         └ {'x': 10.0, 'y': 10.0, 'z': 0.0, 'u': 0.0, 'v': 0.0, 'w': 0.0, 'a': False, 'b': False, 'c': False, 'k': '', 'l': '', 'm': ''}
                        │       │        │       │           └ Viewer(axes=Axes(visible=False, labels=True, colored=True, dashed=False, arrows=True), camera=Camera(center=(0.0, 648.7615000...
                        │       │        │       └ None
                        │       │        └ [<Image layer '0 :: A3 Region2_Merged' at 0x130d05670>]
                        │       └ 'top_hat_box (clesperanto)'
                        └ <function call_op at 0x132bc81f0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/napari_pyclesperanto_assistant/_gui/_category_widget.py", line 126, in call_op
    gpu_out = cle_function(*args)
              │             └ (<xarray.DataArray 'transpose-e7c3c82e071bba4debc777882416d09e' (T: 1, C: 1,
              │                                                               ...
              └ <function top_hat_box at 0x132913e50>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_plugin_function.py", line 68, in worker_function
    bound.arguments[key] = output_creator(*bound.args[:len(sig2.parameters)])
    │     │         │      │               │     │         │    └ <property object at 0x10578e1d0>
    │     │         │      │               │     │         └ <Signature (*args)>
    │     │         │      │               │     └ <property object at 0x10578e0e0>
    │     │         │      │               └ <BoundArguments (input=<xarray.DataArray 'transpose-e7c3c82e071bba4debc777882416d09e' (T: 1, C: 1,
    │     │         │      │                                           ...
    │     │         │      └ <function create_like at 0x1322de940>
    │     │         └ 'destination'
    │     └ <member 'arguments' of 'BoundArguments' objects>
    └ <BoundArguments (input=<xarray.DataArray 'transpose-e7c3c82e071bba4debc777882416d09e' (T: 1, C: 1,
                                ...
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_create.py", line 32, in create_like
    return create(dimensions)
           │      └ <xarray.DataArray 'transpose-e7c3c82e071bba4debc777882416d09e' (T: 1, C: 1,
           │                                                         ...
           └ <function create at 0x1322de5e0>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_create.py", line 21, in create
    return Backend.get_instance().get().empty(dimensions, dtype)
           │       │                          │           └ <class 'numpy.float32'>
           │       │                          └ (<xarray.DataArray 'transpose-e7c3c82e071bba4debc777882416d09e' (C: 1, Z: 1,
           │       │                                                                            ...
           │       └ <classmethod object at 0x1322c0a90>
           └ <class 'pyclesperanto_prototype._tier0._backends.Backend'>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyclesperanto_prototype/_tier0/_opencl_backend.py", line 38, in empty
    return OCLArray(queue, shape, dtype)
           │        │      │      └ <class 'numpy.float32'>
           │        │      └ (<xarray.DataArray 'transpose-e7c3c82e071bba4debc777882416d09e' (C: 1, Z: 1,
           │        │                                                        ...
           │        └ <pyopencl._cl.CommandQueue object at 0x1312b0e50>
           └ <class 'pyclesperanto_prototype._tier0._pycl.OCLArray'>
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/pyopencl/array.py", line 510, in __init__
    if dim < 0:
       └ <xarray.DataArray 'transpose-e7c3c82e071bba4debc777882416d09e' (C: 1, Z: 1,
                                                          ...
  File "/Users/piotrsobolewski/Dev/miniforge3/envs/napari-CL/lib/python3.9/site-packages/xarray/core/common.py", line 131, in __bool__
    return bool(self.values)
                │    └ <property object at 0x1214f29f0>
                └ <xarray.DataArray 'transpose-e7c3c82e071bba4debc777882416d09e' (C: 1, Z: 1,
                                                                   ...

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.