ArcGIS 10.4.1导入numpy时报ImportError: cannot import name multiarray错误求助
我之前处理过好几起ArcGIS自带Python环境里numpy出问题的情况,结合你给出的报错信息(卡在numpy/add_newdocs.py导入环节),给你几个实用的解决方向:
修复ArcGIS安装包,补全缺失文件
ArcGIS自带的Python是定制化的,有时候安装过程中会因为各种原因导致numpy的依赖文件损坏或缺失。你可以打开系统控制面板,找到ArcGIS 10.4.1,点击「更改」→「修复」,让安装程序重新校验并补全Python相关的组件,这个方法经常能解决这类莫名其妙的导入错误。排查Python路径冲突问题
如果你的系统里还装了其他版本的Python(比如单独安装的Python2.7),很可能出现路径优先级混乱,导致ArcGIS调用了错误的numpy版本。你可以先在ArcGIS的Python窗口里运行以下代码,查看当前的路径列表:import sys print(sys.path)如果输出里有非ArcGIS的Python
site-packages目录排在前面,要么调整系统环境变量,把ArcGIS的Python路径移到最前面;要么在你的脚本开头手动指定路径优先级:import sys # 强制优先加载ArcGIS自带的numpy sys.path.insert(0, r'C:\Python27\ArcGIS10.4\lib\site-packages') import numpy重装适配版本的numpy
要是上面的方法都没用,可以尝试手动重装ArcGIS兼容的numpy版本。注意:ArcGIS 10.4.1必须搭配numpy 1.9.2(Python2.7 32位版本),不能随便升级到更高版本,否则会影响ArcGIS的其他工具。操作步骤:- 打开命令提示符,切换到ArcGIS的Python脚本目录:
cd C:\Python27\ArcGIS10.4\Scripts - 卸载现有numpy:
pip uninstall numpy - 下载对应版本的numpy安装包(比如
numpy-1.9.2-cp27-none-win32.whl),然后用pip安装:pip install numpy-1.9.2-cp27-none-win32.whl
- 打开命令提示符,切换到ArcGIS的Python脚本目录:
另外提醒一句:不要随便修改ArcGIS自带Python环境的其他包,很多ArcGIS工具都是和特定版本的依赖绑定的,乱改容易引发更多问题。
内容的提问来源于stack exchange,提问作者GrantRWHumphries




