Basemap报错cannot import name 'basemap_data'的解决方法
问题现象
使用Basemap库开展开发工作时程序持续抛出导入异常:
ImportError: cannot import name 'basemap_data' from 'mpl_toolkits' (unknown location)
执行pip show basemap确认Basemap 1.3.3版本已安装,返回的依赖列表包含basemap-data,仍触发上述错误。
解决方案
按以下顺序逐一排查操作:
- 强制重装依赖修复路径识别问题
直接执行以下命令卸载原有包后强制重装,覆盖可能损坏的文件或错误的路径配置:
重装完成后打开Python交互终端,执行pip uninstall -y basemap basemap-data pip install --force-reinstall basemap==1.3.3from mpl_toolkits.basemap import Basemap验证导入是否正常。 - 排查多环境冲突问题
从贴出的安装路径看,当前包装在微软应用商店版Python3.8的专属site-packages目录下,如果同时安装了Anaconda、官网版Python等其他发行版,大概率出现包装在A环境、代码运行在B环境的错位问题。
先在运行报错代码的环境里执行以下代码,打印当前实际调用的Python解释器路径:
核对输出路径和pip安装basemap的路径是否一致,不一致的话切换到对应解释器路径下的pip重新安装依赖即可。import sys print(sys.executable) - 手动补全目录映射
如果重装后仍报错,打开basemap安装路径下的site-packages目录,检查mpl_toolkits子文件夹内是否同时存在basemap、basemap_data两个文件夹。如果缺失basemap_data,直接把site-packages根目录下独立的basemap_data文件夹整体复制到mpl_toolkits目录下即可修复导入路径。 - 升级pip后重试
部分Windows端Python3.8的旧版本pip存在依赖安装路径映射错误,先执行以下命令升级pip到最新版后再重复第一步的重装操作:python -m pip install --upgrade pip
内容的提问来源于stack exchange,提问作者Weiss
相关产品推荐
相关产品推荐

