我刚刚开始使用 PyCharm 和 python 进行统计。 我得到了这个错误: ImportError:无法从“numpy”导入名称“int”(/home/tetiana/.local/lib/python3.8/site-packages/numpy/init.py)
完整的回溯看起来像这样:
回溯(最近一次调用最后一次):
文件“/home/tetiana/forVScode/python/first/first_try.py”,第 1 行,位于
从 scipy 导入统计数据
文件“/usr/lib/python3/dist-packages/scipy/stats/init.py”,第 379 行,位于
从 .stats 导入 *
文件“/usr/lib/python3/dist-packages/scipy/stats/stats.py”,第 180 行,位于
将 scipy.special 作为特殊导入
文件“/usr/lib/python3/dist-packages/scipy/special/init.py”,第 643 行,位于
来自 .basic 导入 *
文件“/usr/lib/python3/dist-packages/scipy/special/basic.py”,第 19 行,位于
从 。导入正交
文件“/usr/lib/python3/dist-packages/scipy/special/orthogonal.py”,第 81 行,位于
from numpy import (exp, inf, pi, sqrt, Floor, sin, cos, around, int,
ImportError:无法从“numpy”导入名称“int”(/home/tetiana/.local/lib/python3.8/site-packages/numpy/init.py)
进程已完成,退出代码为 1
我该如何修复它? 这是我的代码:
from scipy import stats
import pandas as pd
state = pd.read_csv('state_murder_rate_test_table.csv')
state['Population'].mean()
stats.trim_mean(state['Population'], 0.1)
state['Population'].median()
我检查了操作系统和项目中的Python版本是否匹配,确实如此。我有 python 3.8.10,我的操作系统是 Ubuntu 20.04
参考当前
numpy
文档,不存在可以导入的名为numpy.int
的类型。我相信您要导入的类型是 numpy.integer
或 numpy.int_
。
您提供的代码没有任何类似:
from numpy import int
的语句。如果您可以提供完整的回溯错误,将更容易看出错误的根源。
我希望这个答案会有一点用处。
您的问题的根本问题源于两个软件生态系统之间的依赖管理冲突。根据错误消息,您的 numpy 是使用 pip 安装在路径
/home/tetiana/.local/lib/python3.8/site-packages/numpy/
。依赖它的 scipy 是使用 apt 安装在路径/usr/lib/python3/dist-packages/scipy/
。两者的版本不兼容。事实上,系统中存在scipy正确依赖的numpy版本,但是Python解释器优先考虑pip安装的numpy,导致这个问题。该问题通常有两种解决方案:(1)使用pip卸载numpy和pandas,然后使用apt重新安装它们,或者使用apt卸载scipy并使用pip重新安装。 (2)使用Python的imp模块自定义路径,在导入scipy之前从apt路径导入numpy。示例如下:
import imp
path = ['/usr/lib/python3/dist-packages']
fp, pathname, description = imp.find_module('numpy', path)
imp.load_module("numpy", fp, pathname, description)