【问题标题】:Detect all missing imports in PyCharm/Python在 PyCharm/Python 中检测所有缺失的导入
【发布时间】:2017-08-24 18:57:26
【问题描述】:

是否有一种简单的方法,最好是在 PyCharm (2017.1) 中,但如果需要,可以通过命令行 python (3.5) 来检测语句引用未解析引用的所有代码位置,例如因为缺少 import 语句?

我是 Python/PyCharm 的新手。更一般地说,任何语法错误或任何类似的东西都将是一个奖励。我正在寻找的只是如果我用另一种语言“编译”和“链接”会遇到的错误。

我查看了Can PyCharm list all of Python errors in a project? 和 PyCharm 的“检查代码”。它比我想象的要复杂得多(并且需要 ages 才能运行)。我看到Python Rope: How to Find all missing imports and errors in all sub modules refactoring 推荐pylint,但我不是在寻找类似棉绒的东西。我只想要明显的错误!

我的任务是将(显然)在 Windows 下运行的相当大小(32K 行)的应用程序移植到 Linux。我要做的第一件事是摆脱所有的import。如果我的应用程序执行了一行然后有一个未解析的引用,我会收到一个运行时错误,但我想在编辑时将它们全部提取出来。并且会有代码路径仅限于 Windows,但我仍然想知道这样的任何错误。

【问题讨论】:

  • 我怀疑这是否可行,因为 Python 或多或少是一种解释性语言,如果有未知引用,解释器会自动中止该过程。
  • 我很确定 PyCharm 已经在运行中进行了这种检查,尽管我不知道是否有办法在整个代码库中以批处理模式运行它并获取所有检测的列表。

标签: python python-3.x pycharm


【解决方案1】:

Pycharm 将在编辑器窗口的右侧列出每个源文件的所有错误和“警告”。

它们表示为短线或小块,具体取决于错误或“警告”的大小。错误以红色显示。

您点击它们可以将您带到源中问题所在的位置。

警告主要是 Python 样式指南违规 (PEP 8)。

另一种选择是使用pylint。这是 Python 的lint。这将检测丢失的导入。

您可以按照https://stackoverflow.com/a/46409649/4459346 中的说明将其集成到 PyCharm 中

【讨论】:

  • 是的,我知道这一点,并相信这是唯一的方法。然而,这依赖于视觉滚动每个文件的每一行来发现它们,跨越数百个文件和数万行。我正在寻找此类错误的列表
  • @JonBrave 添加了另一个解决方案:在 PyCharm 中使用 pylint
  • 感谢您提供该链接。我宁愿它与 PyCharm 本身正在生成的实际检查和块相反,但乞丐不能成为选择者!我正要抱怨我无法单击每个报告的警告来获取代码,但我注意到在与您的链接相同的线程中,回答 stackoverflow.com/a/48549144/489865 声称您将获得这些的超链接。下次有时间我会试试的。
【解决方案2】:

回答我自己的问题:

Can PyCharm list all of Python errors in a project?,您确实可以使用Code|Inspect Code 将PyCharm 中的所有这些错误/警告作为列表获取,您可以单击以获取代码。这确实需要很长时间,但至少它是内置在 PyCharm 中的,并且报告的错误与您在编辑器窗口中看到的相对应。

【讨论】:

    猜你喜欢
    • 2015-06-10
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    相关资源
    最近更新 更多