You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用NumPy 2.0与MetPy 1.6时遇AttributeError问题求助

NumPy 2.0 + MetPy 1.6 触发 AttributeError 的解决办法

从报错栈能明确看到,问题不是MetPy本身不兼容NumPy 2.0,而是MetPy依赖的xarray版本太旧,还在使用NumPy 2.0已移除的np.unicode_。

解决步骤

  • 直接升级xarray到支持NumPy 2.0的版本:

    pip install --upgrade xarray
    

    用conda环境的话:

    conda update xarray
    

    xarray在2024年3月之后的版本(比如v2024.3.0及以上)已经把np.unicode_替换成了np.str_,完全适配NumPy 2.0。

  • 补充说明:MetPy 1.6确实做了NumPy 2.0的兼容适配,但它对xarray的版本依赖没有强制要求到兼容NumPy 2.0的版本,所以会出现间接依赖拖后腿的情况,这类问题在NumPy大版本更新初期很常见,不少用户都遇到过。

复现代码

#!/home/ccc/miniconda3/bin/python
import numpy as np
from metpy.units import units
distance = np.arange(1, 5) * units.meters

完整报错信息

Traceback (most recent call last):
  File "/home/ccc/t1.py", line 3, in <module>
    from metpy.units import units
  File "/home/ccc/miniconda3/lib/python3.12/site-packages/metpy/__init__.py", line 13, in <module>
    from .xarray import *  # noqa: F401, F403, E402
    ^^^^^^^^^^^^^^^^^^^^^
  File "/home/ccc/miniconda3/lib/python3.12/site-packages/metpy/xarray.py", line 27, in <module>
    import xarray as xr
  File "/home/ccc/miniconda3/lib/python3.12/site-packages/xarray/__init__.py", line 1, in <module>
    from xarray import testing, tutorial
  File "/home/ccc/miniconda3/lib/python3.12/site-packages/xarray/testing.py", line 10, in <module>
    from xarray.core import duck_array_ops, formatting, utils
  File "/home/ccc/miniconda3/lib/python3.12/site-packages/xarray/core/duck_array_ops.py", line 36, in <module>
    from xarray.core import dask_array_ops, dtypes, nputils
  File "/home/ccc/miniconda3/lib/python3.12/site-packages/xarray/core/dask_array_ops.py", line 3, in <module>
    from xarray.core import dtypes, nputils
  File "/home/ccc/miniconda3/lib/python3.12/site-packages/xarray/core/dtypes.py", line 43, in <module>
    (np.bytes_, np.unicode_),  # numpy promotes to unicode
                ^^^^^^^^^^^
  File "/home/ccc/miniconda3/lib/python3.12/site-packages/numpy/__init__.py", line 400, in __getattr__
    raise AttributeError(
AttributeError: `np.unicode_` was removed in the NumPy 2.0 release. Use `np.str_` instead.

内容的提问来源于stack exchange,提问作者psuchuck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 06:45:16