ipyvolume icon indicating copy to clipboard operation
ipyvolume copied to clipboard

partially initialized module 'ipyvolume' has no attribute '_version' (most likely due to a circular import)

Open banxia688 opened this issue 2 years ago • 5 comments

Snipaste_2024-01-21_20-21-02 I have no idea with this problem

banxia688 avatar Jan 21 '24 12:01 banxia688

Same Issue:

Used this conda call to create the environment on a WSL Ubuntu:

conda create --solver=libmamba -n rapids-23.12 -c rapidsai -c conda-forge -c nvidia \ rapids=23.12 python=3.10 cuda-version=11.8 \ jupyterlab napari dask-cuda dask-image matplotlib scikit-image anaconda::notebook

then

pip install ipyvolume

import ipyvolume as ipv import numpy as np x, y, z, u, v, w = np.random.random((6, 1000))*2-1 ipv.quickquiver(x, y, z, u, v, w, size=5)

`--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Cell In[10], line 1 ----> 1 import ipyvolume as ipv 2 import numpy as np 3 x, y, z, u, v, w = np.random.random((6, 1000))*2-1

File ~/miniconda3/envs/rapids-23.12/lib/python3.10/site-packages/ipyvolume/init.py:8 6 from ipyvolume import datasets # noqa: F401 7 from ipyvolume import embed # noqa: F401 ----> 8 from ipyvolume.widgets import * # noqa: F401, F403 9 from ipyvolume.transferfunction import * # noqa: F401, F403 10 from ipyvolume.pylab import * # noqa: F401, F403

File ~/miniconda3/envs/rapids-23.12/lib/python3.10/site-packages/ipyvolume/widgets.py:30 22 from ipyvolume.traittypes import Image 23 from ipyvolume.serialize import ( 24 array_cube_tile_serialization, 25 array_serialization, (...) 28 texture_serialization, 29 ) ---> 30 from ipyvolume.transferfunction import TransferFunction 31 from ipyvolume.utils import debounced, grid_slice, reduce_size 34 _last_figure = None

File ~/miniconda3/envs/rapids-23.12/lib/python3.10/site-packages/ipyvolume/transferfunction.py:19 17 N = 1024 18 x = np.linspace(0, 1, N, endpoint=True) ---> 19 semver_range_frontend = "~" + ipyvolume._version.version_js 22 @widgets.register 23 class TransferFunction(widgets.DOMWidget): 24 _model_name = Unicode('TransferFunctionModel').tag(sync=True)

AttributeError: partially initialized module 'ipyvolume' has no attribute '_version' (most likely due to a circular import)`

T0bC avatar Jan 24 '24 12:01 T0bC

  1. Unistalling other widgets such as plotly, k3d etc.
  2. Restart the kernel.

Import then worked, unfortunately the docs examples still do no show any plots. @T0bC, did it work for you in the end?

palec87 avatar Jul 02 '24 08:07 palec87

@palec87

  1. Unistalling other widgets such as plotly, k3d etc.
  2. Restart the kernel.

Import then worked, unfortunately the docs examples still do no show any plots. @T0bC, did it work for you in the end?

I tried the same thing, but without success. I ended up using a different library. But I must admit that I'm still looking for a python library capable of displaying a 3D array of potentially 1000x1000x1000 voxels with alpha transparency. And the whole thing interactively in real time. I want to display a uCT dataset for segmentation processes without having to reduce the resolution. The software CTVox provided by the manufacturer seems to be able to do this, but unfortunately without pyhton integration.

T0bC avatar Jul 03 '24 07:07 T0bC

There you might run into hardware limitation and GPU would help a lot. Here is python CT framework with GPU support https://fast.eriksmistad.no/python-tutorial-mri-ct.html

Other, general use viewer to consider can be napari https://napari.org/stable/

I wanted zero install demos for students, so that it runs in notebooks/colabs. k3d worked for me in the end, but it is quite resource intensive, especially crashing colab NBs.

palec87 avatar Jul 03 '24 08:07 palec87