Closed giswqs closed 2 years ago
The binder launches, but there are two problems:
Regarding 2, I tried to run the first code block from the README
import pvxarray
import xarray as xr
ds = xr.tutorial.load_dataset("air_temperature")
da = ds.air[dict(time=0)] # Select DataArray for a timestep
# Plot in 3D
da.pyvista.plot(show_edges=True, cpos='xy')
# Or grab the mesh object for use with PyVista
mesh = da.pyvista.mesh
and got
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
/tmp/ipykernel_87/2822697919.py in <module>
----> 1 import pvxarray
2 import xarray as xr
3
4 ds = xr.tutorial.load_dataset("air_temperature")
5 da = ds.air[dict(time=0)] # Select DataArray for a timestep
~/pvxarray/__init__.py in <module>
1 # flake8: noqa: F401
2 from pvxarray._version import __version__
----> 3 from pvxarray.accessor import PyVistaRectilinearGridAccessor, PyVistaStructuredGridAccessor
4 from pvxarray.knowledge import register_coord_names, register_xy_names, register_z_name
5 from pvxarray.report import Report
~/pvxarray/accessor.py in <module>
2
3 import numpy as np
----> 4 import pyvista as pv
5 import xarray as xr
6
/srv/conda/envs/notebook/lib/python3.7/site-packages/pyvista/__init__.py in <module>
10 # Load default theme. Must be loaded first.
11 from pyvista._version import __version__
---> 12 from pyvista.plotting import *
13 from pyvista.utilities import *
14 from pyvista.core import *
/srv/conda/envs/notebook/lib/python3.7/site-packages/pyvista/plotting/__init__.py in <module>
2
3 from pyvista import MAX_N_COLOR_BARS
----> 4 from .charts import Chart2D, ChartMPL, ChartBox, ChartPie
5 from .colors import (
6 Color,
/srv/conda/envs/notebook/lib/python3.7/site-packages/pyvista/plotting/charts.py in <module>
11
12 import pyvista
---> 13 from pyvista import _vtk
14
15 from .colors import Color, color_synonyms, hexcolors
/srv/conda/envs/notebook/lib/python3.7/site-packages/pyvista/_vtk.py in <module>
430 from vtkmodules.vtkRenderingFreeType import vtkVectorText
431 from vtkmodules.vtkRenderingLabel import vtkLabelPlacementMapper, vtkPointSetToLabelHierarchy
--> 432 from vtkmodules.vtkRenderingOpenGL2 import (
433 vtkCameraPass,
434 vtkEDLShading,
ImportError: libGL.so.1: cannot open shared object file: No such file or directory
In my experience, a conda environment is required to get vtk working reliably.
@rabernat Yes, I just noticed the same problem as after submitting the PR. I am testing a env.yml now. Will update the PR shortly after the build passes.
Merging #24 (49304c1) into main (c234539) will not change coverage. The diff coverage is
n/a
.
@@ Coverage Diff @@
## main #24 +/- ##
=======================================
Coverage 92.12% 92.12%
=======================================
Files 7 7
Lines 165 165
=======================================
Hits 152 152
Misses 13 13
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update c234539...49304c1. Read the comment docs.
@rabernat I tried setting up a conda environment and encountered the same libGL.so.1
error. Therefore, I used a Dockerfile adapted from pyvista-examples and it solved the issue. I also added a notebook with three examples. You can test it at https://mybinder.org/v2/gh/giswqs/pyvista-xarray/binder.
The first two examples should work just fine. The thrid example needs to download a sample dataset to Binder, but the docker container has some permission issues. I am not a docker expert. @banesullivan can probably help out.
@giswqs, thanks for getting this started! I just refactored the API for the next version and will handle this PR from here.
re: vtk working
VTK will work fine with the PyPI wheels or from a conda env - the trick is making sure the headless display is configured in the environment. The Docker images I helped make for PyVista greatly simplify this, so those are precisely what we should use here.
Superseding this with #26
This PR adds a binder link to README. https://github.com/pyvista/pyvista-xarray/issues/22