diff --git a/python/src/com/jetbrains/python/inspections/PyCompatibilityInspection.java b/python/src/com/jetbrains/python/inspections/PyCompatibilityInspection.java index 9dfa2c0d8e0c..1a36e70b9653 100644 --- a/python/src/com/jetbrains/python/inspections/PyCompatibilityInspection.java +++ b/python/src/com/jetbrains/python/inspections/PyCompatibilityInspection.java @@ -239,6 +239,7 @@ public class PyCompatibilityInspection extends PyInspection { @Override public void visitPyFromImportStatement(PyFromImportStatement node) { super.visitPyFromImportStatement(node); + if (node.getRelativeLevel() > 0) return; int len = 0; StringBuilder message = new StringBuilder("Python version "); PyQualifiedName name = node.getImportSourceQName(); diff --git a/python/testData/inspections/PyCompatibilityInspection/relativeImport.py b/python/testData/inspections/PyCompatibilityInspection/relativeImport.py new file mode 100644 index 000000000000..f4dbf193c0f1 --- /dev/null +++ b/python/testData/inspections/PyCompatibilityInspection/relativeImport.py @@ -0,0 +1 @@ +from ..exceptions import ServiceDoesNotExists \ No newline at end of file diff --git a/python/testSrc/com/jetbrains/python/inspections/PyCompatibilityInspectionTest.java b/python/testSrc/com/jetbrains/python/inspections/PyCompatibilityInspectionTest.java index e4f263bdb89b..c93c3754f1ff 100644 --- a/python/testSrc/com/jetbrains/python/inspections/PyCompatibilityInspectionTest.java +++ b/python/testSrc/com/jetbrains/python/inspections/PyCompatibilityInspectionTest.java @@ -130,6 +130,11 @@ public class PyCompatibilityInspectionTest extends PyTestCase { doTest(LanguageLevel.PYTHON33); } + // PY-11047 + public void testRelativeImport() { + doTest(); + } + private void doTest(@NotNull LanguageLevel level) { runWithLanguageLevel(level, new Runnable() { @Override