【问题标题】:Pycharm Cannot find reference 'linspace' in matplotlib.pyplotPycharm 在 matplotlib.pyplot 中找不到参考“linspace”
【发布时间】:2021-06-04 23:46:59
【问题描述】:

我正在尝试使用 matplotlib 库在我的 pycharm ide 中绘制图表。但我无法这样做。因为 Pycharm 向我显示了这条消息:Cannot find reference 'linspace' in 'init.pyi | 初始化.pyi' 这是我的代码=

x=[[1,2,3],[4,5,6],[7,8,9]]
import numpy as np
import matplotlib.pyplot as plt
a=np.array(x)
print(a)
x = np.linspace(0, 10, 100)
y= x ** 2
plt.plot(x,y)

谁能告诉我我做错了什么?

【问题讨论】:

  • 代码执行了吗?
  • 我认为这段代码是正确的,但你应该在最后添加这行代码以显示情节 plt.show()
  • 这是什么时候发生的?在导入上,还是在 plt 上?
  • 这不是一条错误消息 - 这是一条 linter 警告。
  • 我也有同样的问题。是的,代码运行正确,不,这不是 linter 警告。是PyCharm找不到linespace方法,其实是在numpy/core/function_base.py中定义的。

标签: python numpy matplotlib pycharm


【解决方案1】:

我认为这段代码是正确的,但你应该在最后添加这行代码以显示情节

x=[[1,2,3],[4,5,6],[7,8,9]]
import numpy as np
import matplotlib.pyplot as plt

a=np.array(x)
print(a)
x = np.linspace(0, 10, 100)
print(x)
y= x ** 2
plt.plot(x,y)
plt.show()

【讨论】:

  • 这与错误消息Cannot find reference 'linspace' in 'init.pyi | init.pyi' 有何关系?
  • 谢谢 skon7
【解决方案2】:

这是在numpy 开发人员切换方法以在版本1.20 中公开公共存根后发生的问题。 numpy/__init__.pyi 中的重新导入没有 as 关键字,这使它们成为私有的。而是将这些导入添加到 __all__,但 PyCharm 不支持这种方法。

它已在 PyCharm 2020.3.3 中修复。所以升级后消息消失,参考方法可用。

猜你喜欢
  • 2017-10-03
  • 2022-08-09
  • 2021-06-28
  • 1970-01-01
  • 2018-07-24
  • 2015-04-14
  • 2021-11-29
  • 2019-09-10
  • 2018-06-30
相关资源
最近更新 更多