You need to enable JavaScript to run this app. Jupyter Notebook导入rioxarray报contextlib无nullcontext属性错误
优惠活动
大模型
产品
解决方案
定价
更多

Jupyter Notebook导入rioxarray报contextlib无nullcontext属性错误

错误原因

contextlib.nullcontext 是Python 3.7版本才新增的内置功能,你当前使用的Python 3.6.13版本不包含该属性,而你安装的rioxarray v0.4.0版本依赖Python 3.7及以上运行环境,因此导入时触发属性缺失报错。

解决方案

提供两种可行方案,按需选择即可:

方案一:升级Python版本(推荐)

如果没有必须使用Python 3.6的特殊需求,升级Python版本到3.7及以上即可解决版本兼容问题,操作步骤如下:

  • 激活你的Anaconda虚拟环境:
    conda activate "Raster Analysis"
    
  • 直接升级Python到3.8版本(该版本和你当前使用的其他依赖兼容性更好):
    conda install python=3.8
    
  • 升级完成后重装rioxarray即可:
    conda install rioxarray=0.4.0
    

也可以直接新建干净的虚拟环境一次性安装所有依赖,避免版本冲突:

conda create -n raster_env python=3.8 rioxarray=0.4.0 rasterio=1.10 geopandas seaborn jupyter

方案二:降级rioxarray版本

如果必须保留当前Python 3.6环境,将rioxarray降级到最后一个支持Python 3.6的版本即可:

  • 激活虚拟环境后卸载现有rioxarray:
    pip uninstall rioxarray
    
  • 安装兼容Python3.6的rioxarray 0.3.1版本:
    pip install rioxarray==0.3.1
    
额外注意事项

你提供的代码中缺少matplotlib的导入语句,运行时会触发NameError: name 'plt' is not defined报错,在代码导入部分添加一行即可:

import matplotlib.pyplot as plt

操作完成后重新执行import rioxarray验证,无报错即为修复完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 17:12:02