无法从“numpy”导入名称“int”

问题描述 投票:0回答:2

我刚刚开始使用 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 pycharm python-3.8
2个回答
0
投票

参考当前

numpy
文档,不存在可以导入的名为
numpy.int
的类型。我相信您要导入的类型是
numpy.integer
numpy.int_

您提供的代码没有任何类似:

from numpy import int
的语句。如果您可以提供完整的回溯错误,将更容易看出错误的根源。

我希望这个答案会有一点用处。


0
投票

您的问题的根本问题源于两个软件生态系统之间的依赖管理冲突。根据错误消息,您的 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)
© www.soinside.com 2019 - 2024. All rights reserved.