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

ArcGIS Python Notebook导入geemap时OpenSSL 3.0错误修复咨询

问题原因
  • OpenSSL 3.0默认禁用了旧算法提供者(legacy provider),而geemap依赖的cryptography库在部分操作中需要调用这些旧算法,直接触发了加载失败的致命错误。
  • 执行os.environ["CRYPTOGRAPHY_OPENSSL_NO_LEGACY"] = "1"时出现NameError,完全是因为没提前导入os模块,Python找不到os对象导致的语法错误。
解决办法

方法1:先导入os再设置环境变量(最直接有效)

在导入geemap的代码前,按顺序执行以下代码:

import os
os.environ["CRYPTOGRAPHY_OPENSSL_NO_LEGACY"] = "1"
import geemap

这样既解决了NameError问题,又通过设置环境变量让cryptography跳过对legacy provider的加载要求。

方法2:更新相关依赖包

如果方法1无效,尝试把cryptography和geemap更新到最新版本,新版本大概率已经适配了OpenSSL 3.0的规则:

!pip install --upgrade cryptography geemap

(ArcGIS Notebook中执行pip命令需要添加!前缀)

方法3:调整OpenSSL系统配置(需环境权限)

如果你的环境允许修改系统配置,找到openssl.cnf配置文件(Linux通常在/etc/ssl/目录,Windows在OpenSSL安装路径下),添加或修改以下内容:

[provider_sect]
default = default_sect
legacy = legacy_sect

[default_sect]
activate = 1

[legacy_sect]
activate = 1

修改后重启Notebook即可生效,但这种方式会影响整个环境的OpenSSL配置,共享环境下谨慎操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 18:46:07