在__init__.py中找不到引用“ xxx”-Python / Pycharm

发布于 2021-01-29 18:58:39

我在皮查姆有一个组织如下的项目:

-- Sources
   |--__init__.py
   |--Calculators
      |--__init__.py
      |--Filters.py
   |--Controllers
      |--__init__.py
      |--FiltersController.py
   |--Viewers
      |--__init__.py
      |--DataVisualization.py
   |--Models
      |--__init__.py
      |--Data

我所有的__init__.py,除了上面的一个合适的 来源 是空白文件。我收到许多此类警告:

在__init__.py中找不到引用“ xxx”

例如,我的 FiltersController .py具有以下代码:

import numpy.random as npr

bootstrap = npr.choice(image_base.data[max(0, x-2):x+3, max(0, y-2):y+3].flatten(), size=(3, 3), replace=True)

我得到这个警告:

在__init__.py中找不到引用“选择”

我正在想知道这是什么意思,我应该怎么做才能在Python中正确编码。

先感谢您。

关注者
0
被浏览
170
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    这是pycharm中的错误。PyCharm似乎希望引用的模块包含在__all__ = []语句中。

    为了适当的编码礼节,您是否应该包括__all__模块中的语句?..这实际上是我们听到年轻的Spock在接受测试时回答的问题,他回答道:“这在道德上值得称赞,但在道德上不是强制性的。”

    为了解决这个问题,您可以简单地全局禁用该检查 (非常不重要) (非常有用),或者针对特定的函数或语句取消检查。

    为此:

    • 将插入符号放在错误的文本上(“选择”,来自上面的示例)
    • 调出意图菜单(默认情况下,按alt输入,将mine设置为alt-backspace)
    • 点击向右箭头以打开子菜单,然后选择相关操作

    PyCharm有很多类似的小错误,但是我认为它的好处远大于缺点。如果您想尝试另一个好的IDE,也可以使用Spyder / Spyderlib。

    在您提出问题后,我知道这已经很多了,但是我希望这对您(或其他人)有所帮助。

    编辑: 最初,我认为这是特定于check的__all__,但是看起来它是更通用的“ Unresolved
    References”检查,这可能非常有用。最好是使用语句级别的功能禁用功能,方法是使用上面提到的菜单,或者# noinspectionPyUnresolvedReferences在语句之前的行中指定。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看