Python: Do not import all of sys when using -relativeimport

This commit is contained in:
William S Fulton 2016-06-06 22:20:07 +01:00
commit 81adedd7dd
2 changed files with 8 additions and 7 deletions

View file

@ -5697,12 +5697,13 @@ write</p>
<div class="targetlang"> <div class="targetlang">
<pre> <pre>
import sys from sys import version_info
if sys.version_info >= (2, 7, 0): if version_info &gt;= (2, 7, 0):
from . import pkg2 from . import pkg2
import pkg1.pkg2.mod3 import pkg1.pkg2.mod3
else: else:
import pkg2.mod3 import pkg2.mod3
del version_info
</pre> </pre>
</div> </div>

View file

@ -1251,14 +1251,14 @@ public:
Printf(out, "import %s%s%s%s\n", apkg, *Char(apkg) ? "." : "", pfx, mod); Printf(out, "import %s%s%s%s\n", apkg, *Char(apkg) ? "." : "", pfx, mod);
Delete(apkg); Delete(apkg);
} else { } else {
Printf(out, "import sys\n"); Printf(out, "from sys import version_info\n");
Printf(out, "if sys.version_info >= (2, 7, 0):\n"); Printf(out, "if version_info >= (2, 7, 0):\n");
if (py3_rlen1) if (py3_rlen1)
Printf(out, tab4 "from . import %.*s\n", py3_rlen1, rpkg); Printf(out, tab4 "from . import %.*s\n", py3_rlen1, rpkg);
Printf(out, tab4 "from .%s import %s%s\n", rpkg, pfx, mod); Printf(out, tab4 "from .%s import %s%s\n", rpkg, pfx, mod);
Printf(out, "else:\n"); Printf(out, "else:\n");
Printf(out, tab4 "import %s%s%s%s\n", rpkg, *Char(rpkg) ? "." : "", Printf(out, tab4 "import %s%s%s%s\n", rpkg, *Char(rpkg) ? "." : "", pfx, mod);
pfx, mod); Printf(out, "del version_info\n");
Delete(rpkg); Delete(rpkg);
} }
return out; return out;