Python: Do not import all of sys when using -relativeimport
This commit is contained in:
parent
dd40a25349
commit
81adedd7dd
2 changed files with 8 additions and 7 deletions
|
|
@ -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 >= (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>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue