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

Windows conda环境终端可导入geopandas等包但Jupyter Lab加载报错问询

问题成因
  • 环境变量继承异常:Windows系统中执行conda activate s1时,会自动将s1环境下的Library/bin、Scripts目录追加到系统PATH变量中,终端启动的Python可以正常检索到GDAL、Fiona依赖的底层DLL文件。但Jupyter Lab启动后,内核如果没有正确继承激活环境的PATH变量,就会出现DLL查找失败的问题,这是rasterio报错DLL load failed的核心原因。
  • 包版本兼容冲突:Python 3.6早已停止官方维护,conda-forge渠道针对Python 3.6的GIS类依赖包(GDAL、Fiona、rasterio、geopandas)的版本匹配校验已经不再更新,分开安装各个包很容易出现Fiona版本与底层GDAL版本不兼容的情况,直接导致module 'fiona' has no attribute '_loading'报错。
  • 内核绑定错位:若未给s1环境单独注册Jupyter内核,启动的Jupyter Lab默认内核可能指向base环境或其他环境的Python解释器,包搜索路径错位也会引发导入报错。
适配conda的解决方案
  • 1 修正Jupyter内核绑定
    确保在激活s1环境的状态下安装ipykernel,并将当前环境注册为Jupyter可用内核:
    conda activate s1
    conda install ipykernel
    python -m ipykernel install --user --name s1 --display-name "Python (s1)"
    
    后续启动Jupyter Lab后,新建笔记本时选择名为Python (s1)的内核即可,不要使用默认内核。
  • 2 统一重装GIS依赖栈
    不要分开安装各个GIS包,让conda自动处理版本依赖匹配,先卸载现有冲突包再统一安装:
    conda activate s1
    conda remove --force geopandas rasterio fiona gdal
    conda install geopandas rasterio fiona gdal
    
  • 3 手动注入DLL搜索路径
    如果完成前两步后仍有报错,可在Jupyter代码块最开头手动将s1环境的DLL目录加入系统路径:
    import os
    # 替换为你自己的s1环境根路径,参考报错信息路径为 C:\Users\你的用户名\Anaconda3\envs\s1
    env_root = r"C:\Users\xxx\Anaconda3\envs\s1"
    os.environ["PATH"] = f"{os.path.join(env_root, 'Library', 'bin')};{os.path.join(env_root, 'Scripts')};{os.environ['PATH']}"
    
    执行上述代码后再导入geopandas、rasterio即可正常运行。
  • 可选优化:如果没有强制使用Python 3.6的需求,建议创建环境时指定Python 3.8及以上版本,conda-forge对3.8+版本的GIS类包维护更完善,可从根源避免这类兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 09:39:05