some errors about time happened when run pytest for cf-xarray in numpy2
weipeng1999 opened this issue · 2 comments
weipeng1999 commented
when i try to install the cf-xarray 0.9.4 for a python environment that have numpy2, the following errors about time happened. I am not sure weither those matter or not.
errors:
FAILED cf_xarray/tests/test_accessor.py::test_add_bounds[time2] - AssertionError: Left and right DataArray objects are not close
FAILED cf_xarray/tests/test_accessor.py::test_add_bounds[time] - AssertionError: Left and right DataArray objects are not close
FAILED cf_xarray/tests/test_helpers.py::test_vertices_to_bounds - AssertionError:
the whole pytest output:
============================================================================ test session starts =============================================================================
platform linux -- Python 3.12.5, pytest-8.3.2, pluggy-1.5.0
Matplotlib: 3.9.2
Freetype: 2.13.3
rootdir: /home/weipeng/pkgs/python-cf-xarray/src/cf-xarray-0.9.4
configfile: pyproject.toml
plugins: mpl-0.16.1, anyio-4.4.0, typeguard-4.3.0
collected 250 items
cf_xarray/tests/test_accessor.py ...s.............................................................................................F.F................................. [ 53%]
.................................................................. [ 79%]
cf_xarray/tests/test_coding.py ............ [ 84%]
cf_xarray/tests/test_geometry.py .................. [ 91%]
cf_xarray/tests/test_helpers.py .F [ 92%]
cf_xarray/tests/test_options.py . [ 92%]
cf_xarray/tests/test_scripts.py . [ 93%]
cf_xarray/tests/test_units.py ................. [100%]
================================================================================== FAILURES ==================================================================================
___________________________________________________________________________ test_add_bounds[time2] ___________________________________________________________________________
dims = ('time2',)
@pytest.mark.parametrize("dims", ["time2", "lat", "time", ["lat", "lon"]])
def test_add_bounds(dims):
ds = airds
original = ds.copy(deep=True)
expected = {}
expected["lat"] = xr.concat(
[
ds.lat.copy(data=np.arange(76.25, 16.0, -2.5)),
ds.lat.copy(data=np.arange(73.75, 13.6, -2.5)),
],
dim="bounds",
)
expected["lon"] = xr.concat(
[
ds.lon.copy(data=np.arange(198.75, 325 - 1.25, 2.5)),
ds.lon.copy(data=np.arange(201.25, 325 + 1.25, 2.5)),
],
dim="bounds",
)
t0 = pd.Timestamp("2013-01-01")
t1 = pd.Timestamp("2013-01-01 18:00")
dt = "6h"
dtb2 = pd.Timedelta("3h")
expected["time"] = xr.concat(
[
ds.time.copy(data=pd.date_range(start=t0 - dtb2, end=t1 - dtb2, freq=dt)),
ds.time.copy(data=pd.date_range(start=t0 + dtb2, end=t1 + dtb2, freq=dt)),
],
dim="bounds",
)
expected["time2"] = expected["time"]
expected["lat"].attrs.clear()
expected["lon"].attrs.clear()
expected["time"].attrs.clear()
added = ds.copy(deep=False)
added.coords["time2"] = ds.time
added = added.cf.add_bounds(dims)
if isinstance(dims, str):
dims = (dims,)
for dim in dims:
name = f"{dim}_bounds"
assert name in added.coords
assert added[dim].attrs["bounds"] == name
> assert_allclose(
added[name].reset_coords(drop=True), expected[dim].transpose(..., "bounds")
)
E AssertionError: Left and right DataArray objects are not close
E
E Differing values:
E L
E array([['2012-12-31T21:03:26.519066624', '2013-01-01T03:00:46.995808256'],
E ['2013-01-01T03:00:46.995808256', '2013-01-01T08:58:07.472549888'],
E ['2013-01-01T08:58:07.472549888', '2013-01-01T14:55:27.949291520'],
E ['2013-01-01T15:00:02.827198464', '2013-01-01T21:06:33.059753984']],
E dtype='datetime64[ns]')
E R
E array([['2012-12-31T21:00:00.000000000', '2013-01-01T03:00:00.000000000'],
E ['2013-01-01T03:00:00.000000000', '2013-01-01T09:00:00.000000000'],
E ['2013-01-01T09:00:00.000000000', '2013-01-01T15:00:00.000000000'],
E ['2013-01-01T15:00:00.000000000', '2013-01-01T21:00:00.000000000']],
E dtype='datetime64[ns]')
cf_xarray/tests/test_accessor.py:830: AssertionError
___________________________________________________________________________ test_add_bounds[time] ____________________________________________________________________________
dims = ('time',)
@pytest.mark.parametrize("dims", ["time2", "lat", "time", ["lat", "lon"]])
def test_add_bounds(dims):
ds = airds
original = ds.copy(deep=True)
expected = {}
expected["lat"] = xr.concat(
[
ds.lat.copy(data=np.arange(76.25, 16.0, -2.5)),
ds.lat.copy(data=np.arange(73.75, 13.6, -2.5)),
],
dim="bounds",
)
expected["lon"] = xr.concat(
[
ds.lon.copy(data=np.arange(198.75, 325 - 1.25, 2.5)),
ds.lon.copy(data=np.arange(201.25, 325 + 1.25, 2.5)),
],
dim="bounds",
)
t0 = pd.Timestamp("2013-01-01")
t1 = pd.Timestamp("2013-01-01 18:00")
dt = "6h"
dtb2 = pd.Timedelta("3h")
expected["time"] = xr.concat(
[
ds.time.copy(data=pd.date_range(start=t0 - dtb2, end=t1 - dtb2, freq=dt)),
ds.time.copy(data=pd.date_range(start=t0 + dtb2, end=t1 + dtb2, freq=dt)),
],
dim="bounds",
)
expected["time2"] = expected["time"]
expected["lat"].attrs.clear()
expected["lon"].attrs.clear()
expected["time"].attrs.clear()
added = ds.copy(deep=False)
added.coords["time2"] = ds.time
added = added.cf.add_bounds(dims)
if isinstance(dims, str):
dims = (dims,)
for dim in dims:
name = f"{dim}_bounds"
assert name in added.coords
assert added[dim].attrs["bounds"] == name
> assert_allclose(
added[name].reset_coords(drop=True), expected[dim].transpose(..., "bounds")
)
E AssertionError: Left and right DataArray objects are not close
E
E Differing values:
E L
E array([['2012-12-31T21:03:26.519066624', '2013-01-01T03:00:46.995808256'],
E ['2013-01-01T03:00:46.995808256', '2013-01-01T08:58:07.472549888'],
E ['2013-01-01T08:58:07.472549888', '2013-01-01T14:55:27.949291520'],
E ['2013-01-01T15:00:02.827198464', '2013-01-01T21:06:33.059753984']],
E dtype='datetime64[ns]')
E R
E array([['2012-12-31T21:00:00.000000000', '2013-01-01T03:00:00.000000000'],
E ['2013-01-01T03:00:00.000000000', '2013-01-01T09:00:00.000000000'],
E ['2013-01-01T09:00:00.000000000', '2013-01-01T15:00:00.000000000'],
E ['2013-01-01T15:00:00.000000000', '2013-01-01T21:00:00.000000000']],
E dtype='datetime64[ns]')
cf_xarray/tests/test_accessor.py:830: AssertionError
__________________________________________________________________________ test_vertices_to_bounds ___________________________________________________________________________
def test_vertices_to_bounds() -> None:
# 1D case
ds = airds.cf.add_bounds(["lon", "lat", "time"])
lat_c = cfxr.bounds_to_vertices(ds.lat_bounds, bounds_dim="bounds")
lat_b = cfxr.vertices_to_bounds(lat_c, out_dims=("bounds", "lat"))
assert_array_equal(ds.lat_bounds, lat_b)
# Datetime
time_c = cfxr.bounds_to_vertices(ds.time_bounds, bounds_dim="bounds")
time_b = cfxr.vertices_to_bounds(time_c, out_dims=("bounds", "time"))
> assert_array_equal(ds.time_bounds, time_b)
cf_xarray/tests/test_helpers.py:65:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.12/site-packages/numpy/_utils/__init__.py:85: in wrapper
return fun(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
args = (<built-in function eq>, <xarray.DataArray 'time_bounds' (time: 4, bounds: 2)>
array([['2012-12-31T21:03:26.519066624'...198464', '2013-01-01T21:06:33.059753984']],
dtype='datetime64[ns]')
Dimensions without coordinates: time, bounds)
kwds = {'err_msg': '', 'header': 'Arrays are not equal', 'strict': False, 'verbose': True}
@wraps(func)
def inner(*args, **kwds):
with self._recreate_cm():
> return func(*args, **kwds)
E AssertionError:
E Arrays are not equal
E
E Mismatched elements: 1 / 8 (12.5%)
E Max absolute difference among violations: 274877906944
E ACTUAL: array([['2012-12-31T21:03:26.519066624', '2013-01-01T03:00:46.995808256'],
E ['2013-01-01T03:00:46.995808256', '2013-01-01T08:58:07.472549888'],
E ['2013-01-01T08:58:07.472549888', '2013-01-01T14:55:27.949291520'],...
E DESIRED: array([['2012-12-31T21:03:26.519066624', '2013-01-01T03:00:46.995808256'],
E ['2013-01-01T03:00:46.995808256', '2013-01-01T08:58:07.472549888'],
E ['2013-01-01T08:58:07.472549888', '2013-01-01T15:00:02.827198464'],...
/usr/lib/python3.12/contextlib.py:81: AssertionError
============================================================================== warnings summary ==============================================================================
../../../../../../usr/lib/python3.12/site-packages/xarray/core/duck_array_ops.py:33
/usr/lib/python3.12/site-packages/xarray/core/duck_array_ops.py:33: DeprecationWarning: numpy.core.multiarray is deprecated and has been renamed to numpy._core.multiarray. The numpy._core namespace contains private NumPy internals and its use is discouraged, as NumPy internals can change without warning in any release. In practice, most real-world usage of numpy.core is to access functionality in the public NumPy API. If that is the case, use the public NumPy API. If not, you are using NumPy internals. If you would still like to access an internal attribute, use numpy._core.multiarray.normalize_axis_index.
from numpy.core.multiarray import normalize_axis_index # type: ignore[attr-defined]
../../../../../../usr/lib/python3.12/site-packages/xarray/core/nputils.py:7
/usr/lib/python3.12/site-packages/xarray/core/nputils.py:7: DeprecationWarning: numpy.core.multiarray is deprecated and has been renamed to numpy._core.multiarray. The numpy._core namespace contains private NumPy internals and its use is discouraged, as NumPy internals can change without warning in any release. In practice, most real-world usage of numpy.core is to access functionality in the public NumPy API. If that is the case, use the public NumPy API. If not, you are using NumPy internals. If you would still like to access an internal attribute, use numpy._core.multiarray.normalize_axis_index.
from numpy.core.multiarray import normalize_axis_index # type: ignore[attr-defined]
../../../../../../usr/lib/python3.12/site-packages/metpy/calc/tools.py:11
/usr/lib/python3.12/site-packages/metpy/calc/tools.py:11: DeprecationWarning: numpy.core.numeric is deprecated and has been renamed to numpy._core.numeric. The numpy._core namespace contains private NumPy internals and its use is discouraged, as NumPy internals can change without warning in any release. In practice, most real-world usage of numpy.core is to access functionality in the public NumPy API. If that is the case, use the public NumPy API. If not, you are using NumPy internals. If you would still like to access an internal attribute, use numpy._core.numeric.normalize_axis_index.
from numpy.core.numeric import normalize_axis_index
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj0]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj0]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj1]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj1]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj2]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj2]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj3]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj3]
/usr/lib/python3.12/site-packages/xarray/core/groupby.py:508: FutureWarning: 'M' is deprecated and will be removed in a future version, please use 'ME' instead.
index_grouper = pd.Grouper(
cf_xarray/tests/test_accessor.py::test_ancillary_variables_extra_dim
/home/weipeng/pkgs/python-cf-xarray/src/cf-xarray-0.9.4/cf_xarray/tests/test_accessor.py:2078: UserWarning: Variables {'position_flag'} not found in object but are referred to in the CF attributes.
assert_identical(ds.cf["X"], ds["x"])
cf_xarray/tests/test_geometry.py: 11 warnings
/usr/lib/python3.12/site-packages/numpy/lib/_function_base_impl.py:5736: DeprecationWarning: __array_wrap__ must accept context and return_scalar arguments (positionally) in the future. (Deprecated NumPy 2.0)
return conv.wrap(new, to_scalar=False)
cf_xarray/tests/test_geometry.py::test_reshape_unique_geometries
cf_xarray/tests/test_geometry.py::test_reshape_unique_geometries
/usr/lib/python3.12/site-packages/xarray/core/variable.py:1891: DeprecationWarning: __array__ implementation doesn't accept a copy keyword, so passing copy=False failed. __array__ must implement 'dtype' and 'copy' keyword arguments.
data[(..., *indexer)] = reordered
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========================================================================== short test summary info ===========================================================================
FAILED cf_xarray/tests/test_accessor.py::test_add_bounds[time2] - AssertionError: Left and right DataArray objects are not close
FAILED cf_xarray/tests/test_accessor.py::test_add_bounds[time] - AssertionError: Left and right DataArray objects are not close
FAILED cf_xarray/tests/test_helpers.py::test_vertices_to_bounds - AssertionError:
and here is my python environment:
>>> python -m pip list (base)
Package Version
----------------------------- ------------------------------
absl-py 2.1.0
agate 1.12.0
agate-dbf 0.2.3
agate-excel 0.4.1
agate-sql 0.7.2
agda_kernel 0.64
alabaster 1.0.0
annotated-types 0.7.0
anyio 4.4.0
appdirs 1.4.4
apsw 3.46.1.0
arandr 0.1.11
argcomplete 3.4.0
argon2-cffi 23.1.0
argon2-cffi-bindings 21.2.0
arrow 1.3.0
astor 0.8.1
asttokens 2.4.1
async-lru 2.0.4
async-timeout 4.0.3
atpublic 5.0
attrs 23.2.1.dev0
autocommand 2.2.2
autokey 0.96.0
autopep8 2.3.1
Babel 2.15.0
beautifulsoup4 4.12.3
bleach 6.1.0
blinker 1.7.0
boolean.py 4.0
Brotli 1.1.0
brotlicffi 1.1.0.0
btrfsutil 6.10
build 1.2.1
CacheControl 0.14.0
cattrs 23.2.3
certifi 2024.7.4
cffi 1.16.0
cftime 1.6.4
chardet 5.2.0
charset-normalizer 3.3.2
click 8.1.7
cloudpickle 2.2.1
cmp_version 3.0.0
cockpit 323
colorama 0.4.6
comm 0.2.2
contourpy 1.3.0
coverage 7.6.1
crit 3.19
cryptography 42.0.7
css-parser 1.0.10
cssselect 1.2.0
csvkit 2.0.1
cycler 0.12.1
Cython 3.0.11
dask 2024.4.1
dbfread 2.0.7
dbus-python 1.3.2
debugpy 1.8.5+0.ga68a804f.dirty
decorator 5.1.1
defusedxml 0.7.1
dill 0.3.8
distro 1.9.0
dnspython 2.6.1
docopt 0.6.2
docstring-to-markdown 0.15
docutils 0.21.2
entrypoints 0.4
et_xmlfile 1.1.0
evdev 1.7.1
executing 2.0.0
ezdxf 1.3.0
fastjsonschema 2.20.0
faust-cchardet 2.1.19
feedparser 6.0.11
filelock 3.13.3
flake8 7.1.1
Flask 2.3.3
flexcache 0.3
flexparser 0.3.1
flufl.lock 8.1.0
fonttools 4.53.1
fortls 3.1.2
fqdn 1.5.1
fsspec 2024.6.1
func_timeout 4.3.5
furo 2024.8.6
future 1.0.0
gbinder-python 1.1.2
GDAL 3.9.1
geomdl 5.3.1
Glances 4.1.2
gmpy2 2.2.1
greenlet 3.0.3
h11 0.14.0
html2text 2024.2.26
html5-parser 0.4.12
html5lib 1.1
httpcore 1.0.5
httplib2 0.22.0
httpx 0.27.0
idna 3.7
ifaddr 0.2.0
imagesize 1.4.1
importlib_metadata 7.2.1
inflate64 1.0.0
inflect 7.3.1
iniconfig 2.0.0
installer 0.7.0
ipykernel 6.29.5
ipython 8.26.0
isodate 0.6.1
isoduration 20.11.0
itsdangerous 2.1.2
jaraco.context 5.3.0
jaraco.functools 4.0.2
jaraco.text 4.0.0
jedi 0.19.1
jeepney 0.8.0
Jinja2 3.1.4
joblib 1.3.2
json5 0.9.25
jsonpointer 3.0.0
jsonschema 4.23.0
jsonschema-specifications 2023.12.1
jupyter_client 8.6.2
jupyter-console 6.6.3
jupyter_core 5.7.2
jupyter-events 0.10.0
jupyter_server 2.14.2
jupyterlab 4.2.5
jupyterlab_pygments 0.3.0
jupyterlab_server 2.27.3
kconfiglib 14.1.0
kiwisolver 1.4.5
lark 1.1.9
leather 0.4.0
lensfun 0.3.4
libfdt 1.7.0
libtorrent 2.0.10
libvirt-python 10.6.0
license-expression 30.3.1.dev0+gc20b3f6.d20240601
lightdm-gtk-greeter-settings 1.2.3
lineedit 0.1.6
lit 18.1.8.dev0
llvmlite 0.43.0
locket 1.0.0
lockfile 0.12.2
lsprotocol 2023.0.1
lxml 5.3.0
lxml_html_clean 0.2.0
Mako 1.3.5.dev0
Markdown 3.7
markdown-it-py 3.0.0
MarkupSafe 2.1.5
matplotlib 3.9.2
matplotlib-inline 0.1.7
mccabe 0.7.0
mdurl 0.1.2
mechanize 0.4.10
menulibre 2.4.0
mercurial 6.8.1
meson 1.5.1
MetPy 1.6.2
mistune 3.0.2
moddb 0.11.0
more-itertools 10.3.0
mpi4py 3.1.5
mpmath 1.3.0
msgpack 1.0.5
mugshot 0.4.3
multivolumefile 0.2.3
namcap 3.5.2
nbclient 0.10.0
nbconvert 7.16.4
nbformat 5.10.4
nest_asyncio 1.6.0
netCDF4 1.6.5
netifaces 0.11.0
nftables 0.1
notebook 7.2.2
notebook_shim 0.2.4
numba 0.60.0
numpy 2.0.1
obapps3 0.2.5
oblogout 0.3
olefile 0.47
OpenCC 1.1.8
openpyxl 3.1.5
opt_einsum 0+unknown
ordered-set 4.1.0
orjson 3.10.7
overrides 7.7.0
OWSLib 0.31.0
packaging 24.1
pandas 2.2.2
pandocfilters 1.5.1
parsedatetime 2.6
parso 0.8.4
partd 1.4.1
pdftotext 2.2.2
pexpect 4.9.0
pickleshare 0.7.5
pillow 10.4.0
Pint 0.24.3
pip 24.2
platformdirs 4.2.2
pluggy 1.5.0
ply 3.11
pooch 1.8.2
prettytable 3.10.0
prometheus_client 0.20.0
prompt_toolkit 3.0.47
protobuf 5.27.3
psutil 6.0.0
psycopg2 2.9.9
ptyprocess 0.7.0
pulsemixer 1.5.1
pure_eval 0.2.3
pwquality 1.4.5
py7zr 0.22.0
pyalpm 0.10.6
pybcj 1.0.2
pybind11 2.13.5
pycairo 1.26.1
pychm 0.8.6
pyclip 0.7.0
pycodestyle 2.11.1
pycparser 2.22
pycriu 3.19
pycryptodome 3.20.0
pycryptodomex 3.20.0
pydantic 2.8.2
pydantic_core 2.20.1
pyelftools 0.31
pyflakes 3.2.0
pygdbmi 0.11.0.0
pygls 1.3.1
Pygments 2.18.0
PyGObject 3.48.2
PyICU 2.12
pyinotify 0.9.6
pyOpenSSL 24.2.1
pyparsing 3.1.2
pypng 0.20231004.0
pyppmd 1.1.0
pyproj 3.6.1
pyproject_hooks 1.1.0
PyQt5 5.15.11
PyQt5_sip 12.15.0
PyQt6 6.7.1
PyQt6_sip 13.8.0
PyQt6-WebEngine 6.7.0
pyrate-limiter 3.6.0
pyrsistent 0.19.3
pyserial 3.5
pyshp 2.3.1
PySide6 6.7.2
pyslvs 22.7.0
pyslvs_ui 22.7.0
PySocks 1.7.1
pytest 8.3.2
pytest-mpl 0.16.1
python-dateutil 2.9.0
python-distutils-extra 2.39
python-json-logger 2.0.7
python-lsp-jsonrpc 1.1.2
python-lsp-server 1.12.0
python-magic 0.4.27
python-slugify 8.0.4
python-xlib 0.33
pytimeparse 1.1.8
pytz 2024.1
pyxdg 0.28
PyYAML 6.0.2
pyzmq 25.1.2
pyzstd 0.16.1
qrcode 7.4.2
QScintilla 2.14.1
QtPy 2.4.1
radian 0.6.13
ranger-fm 1.9.3
rchitect 0.4.7
referencing 0.35.1
Reflector 2023.6.28.0.36.1
regex 2024.7.24
requests 2.32.3
rfc3339_validator 0.1.4
rich 13.8.0
rpds-py 0.19.0
rrdtool 0.1.10
ruamel.yaml 0.18.6
ruamel.yaml.clib 0.2.8
schemdraw 0.16
scikit-learn 1.5.1
scipy 1.14.1
scour 0.38.2
screenkey 1.5
seaborn 0.13.2
selinux 3.7
Send2Trash 1.8.2
sentry-sdk 2.13.0
setuptools 69.5.1
setuptools-scm 8.1.0
sgmllib3k 1.0.0
shapely 2.0.4
shiboken6 6.7.2
shiboken6-generator 6.7.2
six 1.16.0
smbus 1.1
sniffio 1.3.1
snowballstemmer 2.2.0
soupsieve 2.6
Sphinx 8.0.2
sphinx_basic_ng 1.0.0b2
sphinx_rtd_theme 2.0.0
sphinxcontrib-applehelp 2.0.0
sphinxcontrib-devhelp 2.0.0
sphinxcontrib-htmlhelp 2.1.0
sphinxcontrib-jquery 4.1
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 2.0.0
sphinxcontrib-serializinghtml 2.0.0
SQLAlchemy 1.4.52.dev0
stack_data 0.6.3
sympy 1.13.2
TBB 0.2
tcping 0.1.1rc1
text-unidecode 1.3
texttable 1.7.0
threadpoolctl 3.4.0
tinycss2 1.3.0
tlp-ui 1.6.5
toml 0.10.2
tomli 2.0.1
toolz 0.12.1
tornado 6.4.1
tqdm 4.66.5
traitlets 5.14.3
trash-cli 0.24.5.26
tree-sitter 0.22.3
trove-classifiers 2024.7.22
typeguard 4.3.0
typing_extensions 4.12.2
tzdata 2024.1
uc-micro-py 1.0.3
ueberzug 18.2.3
ujson 5.10.0
unrardll 0.1.7
uri-template 1.3.0
urllib3 1.26.19
validate-pyproject 0.19
wcwidth 0.2.13
webcolors 1.13
webencodings 0.5.1
websocket-client 1.8.0
websockets 12.0
Werkzeug 3.0.1
wheel 0.44.0
wxPython 4.2.1
xarray 2023.9.0
xlrd 2.0.1
xxhash 3.4.1
zeroconf 0.132.2
zipp 3.19.3.dev0+gc6a3339.d20240728
zstandard 0.22.0
keewis commented
you've got an old version of xarray
that doesn't really support numpy>=2.0
. For that to work, you need at least xarray>=2024.06.0
.
weipeng1999 commented
you've got an old version of
xarray
that doesn't really supportnumpy>=2.0
. For that to work, you need at leastxarray>=2024.06.0
.
thanks, that works