【问题标题】:PyCharm wrong unused importPyCharm 错误未使用的导入
【发布时间】:2015-06-21 00:58:43
【问题描述】:

考虑这段代码:

从 AutomaticHacker 导入常量

if constants.QT5:
    from PyQt5.QtCore import QAbstractTableModel, pyqtSignal, QModelIndex, Qt, QAbstractItemModel, QSize
    from PyQt5.QtGui import QColor, QFont
else:
    from PyQt4.QtCore import QAbstractTableModel, pyqtSignal, QModelIndex, Qt, QAbstractItemModel, QSize
    from PyQt4.QtGui import QColor, QFont

或在这里查看:Screenshot

PyCharm 标记整行

from PyQt5.QtCore import QAbstractTableModel, pyqtSignal, QModelIndex, Qt, QAbstractItemModel, QSize

作为未使用的导入,虽然只有 QSize 没有被使用。我知道,我可以简单地从导入列表中删除 QSize。但是,当自动优化导入时,它会破坏我的文件。

有什么方法可以解决这个问题?

【问题讨论】:

    标签: python pyqt pycharm


    【解决方案1】:

    我无法在 Pycharm 4.0.6 Pro 上进行复制,它只会正确丢弃未使用的导入,而其余部分则完好无损。

    假设这是版本差异,我看到 2 个选项:

    • 您可以将导入行重写为每行一个导入行

    • 您可以放弃自动优化导入并改为手动执行,使用 Code -> Inspect Code 和未使用导入的灰色 + 带下划线的编辑器突出显示 - 这是我的偏好,因为无论如何我对代码检查都很偏执。

    针对导入优化器的另一点:它可能会根据您当前的设置条件确定 if 的一侧不会发生并愉快地擦除另一半 - 有效地使选择性导入的整个目的无效。始终仔细检查优化器操作!

    【讨论】:

      猜你喜欢
      • 2014-02-04
      • 2013-11-22
      • 2016-09-12
      • 2016-10-28
      • 1970-01-01
      • 1970-01-01
      • 2016-03-05
      • 2016-06-24
      • 2013-03-04
      相关资源
      最近更新 更多