Staging
v0.5.1
https://github.com/python/cpython
Revision 75345c552d0889f4f63039d6063f371846c8f41f authored by Nick Coghlan on 12 March 2017, 11:34:22 UTC, committed by Ned Deily on 21 March 2017, 05:55:11 UTC
Directory and zipfile execution previously added
the parent directory of the directory or zipfile
as sys.path[0] and then subsequently overwrote
it with the directory or zipfile itself.

This caused problems in isolated mode, as it
overwrote the "stdlib as a zip archive" entry
in sys.path, as the parent directory was
never added.

The attempted fix to that issue in bpo-29319
created the opposite problem in *non*-isolated
mode, by potentially leaving the parent
directory on sys.path instead of overwriting it.

This change fixes the root cause of the problem
by removing the whole "add-and-overwrite" dance
for sys.path[0], and instead simply never adds
the parent directory to sys.path in the first
place.
(cherry picked from commit d2977a3ae2cc6802921b1e3b6e9d13fcfbda872d)

(cherry picked from commit c60948464fb0ec116ea227f6bce8a4bb8fb75257)
1 parent 07e6cbd
Raw File
Tip revision: 75345c552d0889f4f63039d6063f371846c8f41f authored by Nick Coghlan on 12 March 2017, 11:34:22 UTC
[3.6] bpo-29723: Consistently configure sys.path[0] (#636)
Tip revision: 75345c5
.hgtouch
# -*- Makefile -*-
# Define dependencies of generated files that are checked into hg.
# The syntax of this file uses make rule dependencies, without actions

Python/importlib.h: Lib/importlib/_bootstrap.py Programs/_freeze_importlib.c

Include/opcode.h:  Lib/opcode.py Tools/scripts/generate_opcode_h.py

Include/Python-ast.h: Parser/Python.asdl Parser/asdl.py Parser/asdl_c.py
Python/Python-ast.c: Include/Python-ast.h

Python/opcode_targets.h: Python/makeopcodetargets.py Lib/opcode.py

Objects/typeslots.inc: Include/typeslots.h Objects/typeslots.py

Include/graminit.h: Grammar/Grammar Parser/acceler.c Parser/grammar1.c Parser/listnode.c Parser/node.c Parser/parser.c Parser/bitset.c Parser/metagrammar.c Parser/firstsets.c Parser/grammar.c Parser/pgen.c Objects/obmalloc.c Python/dynamic_annotations.c Python/mysnprintf.c Python/pyctype.c Parser/tokenizer_pgen.c Parser/printgrammar.c Parser/parsetok_pgen.c Parser/pgenmain.c
Python/graminit.c: Include/graminit.h Grammar/Grammar Parser/acceler.c Parser/grammar1.c Parser/listnode.c Parser/node.c Parser/parser.c Parser/bitset.c Parser/metagrammar.c Parser/firstsets.c Parser/grammar.c Parser/pgen.c Objects/obmalloc.c Python/dynamic_annotations.c Python/mysnprintf.c Python/pyctype.c Parser/tokenizer_pgen.c Parser/printgrammar.c Parser/parsetok_pgen.c Parser/pgenmain.c
back to top