Staging
v0.5.1
https://github.com/python/cpython
Revision 891c91d8d38848377a9f475242507510873eb9c3 authored by Nick Coghlan on 23 January 2018, 10:48:11 UTC, committed by larryhastings on 23 January 2018, 10:48: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)
1 parent 57fa0ab
History
Tip revision: 891c91d8d38848377a9f475242507510873eb9c3 authored by Nick Coghlan on 23 January 2018, 10:48:11 UTC
[3.5] bpo-32551: Consistently configure sys.path[0] (#5197)
Tip revision: 891c91d
File Mode Size
clinic
Python-ast.c -rw-r--r-- 250.5 KB
README -rw-r--r-- 62 bytes
_warnings.c -rw-r--r-- 32.6 KB
asdl.c -rw-r--r-- 1.4 KB
ast.c -rw-r--r-- 124.8 KB
bltinmodule.c -rw-r--r-- 79.3 KB
ceval.c -rw-r--r-- 166.6 KB
ceval_gil.h -rw-r--r-- 8.9 KB
codecs.c -rw-r--r-- 45.0 KB
compile.c -rw-r--r-- 134.0 KB
condvar.h -rw-r--r-- 11.0 KB
dtoa.c -rw-r--r-- 81.3 KB
dup2.c -rw-r--r-- 705 bytes
dynamic_annotations.c -rw-r--r-- 6.6 KB
dynload_aix.c -rw-r--r-- 5.7 KB
dynload_dl.c -rw-r--r-- 581 bytes
dynload_hpux.c -rw-r--r-- 1.9 KB
dynload_next.c -rw-r--r-- 3.9 KB
dynload_shlib.c -rw-r--r-- 3.3 KB
dynload_stub.c -rw-r--r-- 186 bytes
dynload_win.c -rw-r--r-- 10.0 KB
errors.c -rw-r--r-- 30.5 KB
fileutils.c -rw-r--r-- 45.5 KB
formatter_unicode.c -rw-r--r-- 48.7 KB
frozen.c -rw-r--r-- 1.7 KB
frozenmain.c -rw-r--r-- 2.7 KB
future.c -rw-r--r-- 4.7 KB
getargs.c -rw-r--r-- 54.0 KB
getcompiler.c -rw-r--r-- 366 bytes
getcopyright.c -rw-r--r-- 511 bytes
getopt.c -rw-r--r-- 3.4 KB
getplatform.c -rw-r--r-- 130 bytes
getversion.c -rw-r--r-- 289 bytes
graminit.c -rw-r--r-- 42.5 KB
import.c -rw-r--r-- 59.8 KB
importdl.c -rw-r--r-- 6.9 KB
importdl.h -rw-r--r-- 487 bytes
importlib.h -rw-r--r-- 102.4 KB
importlib_external.h -rw-r--r-- 136.8 KB
makeopcodetargets.py -rwxr-xr-x 1.2 KB
marshal.c -rw-r--r-- 48.9 KB
modsupport.c -rw-r--r-- 14.7 KB
mysnprintf.c -rw-r--r-- 3.3 KB
mystrtoul.c -rw-r--r-- 8.1 KB
opcode_targets.h -rw-r--r-- 6.3 KB
peephole.c -rw-r--r-- 25.1 KB
pyarena.c -rw-r--r-- 5.5 KB
pyctype.c -rw-r--r-- 7.7 KB
pyfpe.c -rw-r--r-- 621 bytes
pyhash.c -rw-r--r-- 13.0 KB
pylifecycle.c -rw-r--r-- 44.1 KB
pymath.c -rw-r--r-- 1.5 KB
pystate.c -rw-r--r-- 25.5 KB
pystrcmp.c -rw-r--r-- 613 bytes
pystrhex.c -rw-r--r-- 1.6 KB
pystrtod.c -rw-r--r-- 38.2 KB
pythonrun.c -rw-r--r-- 42.0 KB
pytime.c -rw-r--r-- 16.2 KB
random.c -rw-r--r-- 16.7 KB
sigcheck.c -rw-r--r-- 529 bytes
strdup.c -rw-r--r-- 247 bytes
structmember.c -rw-r--r-- 8.7 KB
symtable.c -rw-r--r-- 55.5 KB
sysmodule.c -rw-r--r-- 66.5 KB
thread.c -rw-r--r-- 12.4 KB
thread_foobar.h -rw-r--r-- 2.2 KB
thread_nt.h -rw-r--r-- 10.3 KB
thread_pthread.h -rw-r--r-- 17.6 KB
traceback.c -rw-r--r-- 19.3 KB

README

back to top