从CMD运行Python脚本时出现Numpy multiarray导入错误求助
cannot import name multiarray的问题 我之前也踩过这个坑!这个报错几乎可以肯定是CMD里默认使用的Python环境和你IDE/Anaconda里的环境不一致导致的——你在Anaconda里装了numpy,但CMD调用的是系统其他Python(比如自带的或者之前单独装的),那个环境里的numpy要么没装,要么损坏了。
下面是几个亲测有效的解决方法:
先确认当前CMD用的是哪个Python
打开CMD输入:where python看输出的路径,如果不是Anaconda安装目录下的
python.exe(比如C:\Users\myname\anaconda3\python.exe),那就说明环境不对。方法1:激活Anaconda环境再运行脚本
直接在CMD里先执行Anaconda的激活脚本,再运行你的Python文件:# 先激活基础conda环境 C:\Users\myname\anaconda3\Scripts\activate.bat # 再运行脚本 python c:/Users/myname/pycharmProjects/testing/main.py如果你IDE里用的是Anaconda的某个虚拟环境(比如叫
test_env),那就激活对应的环境:C:\Users\myname\anaconda3\Scripts\activate.bat test_env python c:/Users/myname/pycharmProjects/testing/main.py方法2:直接指定Anaconda的Python路径运行
不想激活环境的话,直接用Anaconda里Python的完整路径来调用脚本,一步到位:C:\Users\myname\anaconda3\python.exe c:/Users/myname/pycharmProjects/testing/main.py这个方法最稳妥,完全不会受环境变量影响。
方法3:调整环境变量让CMD默认用Anaconda Python
右键“此电脑”→属性→高级系统设置→环境变量,在系统变量的Path里,把Anaconda的Python路径(C:\Users\myname\anaconda3)和Scripts路径(C:\Users\myname\anaconda3\Scripts)移到最顶部,保存后重启CMD。这样CMD就会优先使用Anaconda的Python了,不过要注意这个操作可能影响其他依赖系统Python的程序,谨慎选择。
如果上面的方法都试过还是不行,建议在Anaconda Prompt里执行pip install --upgrade numpy,确保conda环境里的numpy是最新且完整的,再重新尝试CMD调用。
内容的提问来源于stack exchange,提问作者Lilly

