PyCharm 错误的未使用导入
PyCharm wrong unused import
考虑这段代码:
从 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
as unused import,虽然只有QSize没有用到。我知道,我可以简单地从导入列表中删除 QSize。但是,当自动优化导入时,它会破坏我的文件。
有什么方法可以解决这个问题?
我无法在 Pycharm 4.0.6 Pro 上重现,它正确地删除了未使用的导入,其余的保持原样。
假设是版本差异,我看到了 2 个选项:
您可以将导入行重写为多个每行一个导入行
您可以放弃自动优化导入并手动执行,使用 Code -> Inspect Code 和灰色显示 + 带下划线的编辑器突出显示未使用的导入 - 这是我的偏好,因为我对代码检查非常偏执。
反对导入优化器的另一点:它可能会根据您当前的设置条件确定 if 的一侧不会发生并愉快地擦除另一半 - 有效地使选择性导入的整个目的无效。始终仔细检查优化器操作!
考虑这段代码:
从 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
as unused import,虽然只有QSize没有用到。我知道,我可以简单地从导入列表中删除 QSize。但是,当自动优化导入时,它会破坏我的文件。
有什么方法可以解决这个问题?
我无法在 Pycharm 4.0.6 Pro 上重现,它正确地删除了未使用的导入,其余的保持原样。
假设是版本差异,我看到了 2 个选项:
您可以将导入行重写为多个每行一个导入行
您可以放弃自动优化导入并手动执行,使用 Code -> Inspect Code 和灰色显示 + 带下划线的编辑器突出显示未使用的导入 - 这是我的偏好,因为我对代码检查非常偏执。
反对导入优化器的另一点:它可能会根据您当前的设置条件确定 if 的一侧不会发生并愉快地擦除另一半 - 有效地使选择性导入的整个目的无效。始终仔细检查优化器操作!