np.arange本地运行报AttributeError但在线IDE运行正常是什么原因
问题产生原因
- 命名冲突:本地运行代码的工作目录下,存在你自行命名为
numpy.py的文件或者numpy命名的文件夹。Python导入模块时会优先读取当前工作目录下的同名文件,导致实际导入的不是官方Numpy库,不存在arange属性,因此抛出AttributeError。这也是在线IDE可正常运行的核心原因:在线环境的工作目录不存在这类自定义冲突文件,会默认导入官方Numpy库。 - 环境匹配问题:你当前Spyder控制台激活的Python环境,和你安装了Numpy的环境不是同一个;或是对应环境下的Numpy包安装损坏、版本不兼容,也会触发该报错。
- 导入语句错误:若代码开头未写
import numpy as np,或是导入别名拼写错误,调用np.arange也会触发属性不存在的报错。
解决方案
- 排查命名冲突:打开代码对应的工作目录,检查是否有
numpy.py文件、numpy文件夹,将这类文件重命名为其他不冲突的名称,同时删除同目录下的__pycache__缓存文件夹,重新运行代码即可。 - 验证环境与Numpy安装:在Spyder控制台运行
import numpy; print(numpy.__file__),若输出路径不是当前Python环境下site-packages目录对应的Numpy路径,说明导入了非官方的Numpy文件,按上一步排查即可。若路径正确仍报错,执行pip uninstall numpy && pip install numpy重新安装Numpy即可。 - 检查导入语句:确认代码开头存在
import numpy as np的语句,且别名np拼写正确。
内容的提问来源于stack exchange,提问作者Kirtan Adhikari
相关产品推荐
相关产品推荐

