为什么PyCharm会对某些Numpy导入提供未解决的引用错误?

flu*_*ak7 26 python numpy pycharm python-2.7

PyCharm中的以下行通过动态检查进行标记,每次导入都有未解决的参考错误.(它们用红色加下划线.)

from numpy import tan, arcsin, arccos, arctan
Run Code Online (Sandbox Code Playgroud)

但是,以下导入不会导致任何错误/警告:

from numpy import sin, cos, arctan2, sqrt, cross, pi
Run Code Online (Sandbox Code Playgroud)

我使用这些导入的代码运行正常,没有任何错误或警告.我通常依赖PyCharm的红色错误作为警告我的代码被破坏而不会运行,但在这种情况下PyCharm是错误的.

为什么一些numpy的函数被PyCharm的内省和其他人所识别?

当前版本:

  • Windows 7 64位
  • Python 2.7.5
  • PyCharm 3.1.2
  • Numpy 1.8

谢谢!

Gam*_*iac 22

你得到这个的原因是因为PyCharm的静态分析.现在,Python所做的是使用静态骨架(一些是预先生成的,一些是生成的)来为您提供分析.看看这里预先生成的骨架 - > https://github.com/JetBrains/python-skeletons

这可以通过启用以下内容来解决:

在此输入图像描述

但是,如果这不起作用:

在此输入图像描述

这将阻止错误,它将显示为行上方的注释.

  • -1,因为没有提到可以找到设置的位置.转到文件 - >设置 - >构建,执行,部署 - > Python调试器 (19认同)

Dav*_*ing 9

Python配置在(至少)两个地方指定: Run | Edit Configurations | Python | Python InterpreterFile | Settings | Project | Project Interpreter.我的错误是我没有在中设置正确的Python安装File | Settings ....因此,它指的是没有安装导入的Python配置(例如NumPy).

在我将这两个位置设置为指向相同的,正确的Python安装后,我做了一个File | Invalidate Caches / Restart,然后就可以了.

第三个检查位置是File | Default Settings... | Project Interpreter确保它与其他设置匹配.


小智 7

以下通常有助于解决假阳性未解决的参考

File | Invalidate Caches
Run Code Online (Sandbox Code Playgroud)


psa*_*rka 7

PyCharm 开发人员针对检查失败的一个可能原因发布了一种解决方法:

https://youtrack.jetbrains.com/issue/PY-32029

要点 - 如果venv项目目录中有文件夹,检查可能会失败。右键单击它,将目录标记为已排除。