bpo-33053: -m adds *starting* directory to sys.path by ncoghlan · Pull Request #6231 · python/cpython

@ncoghlan

Historically, -m added the empty string as sys.path
zero, meaning it resolved imports against the current
working directory, the same way -c and the interactive
prompt do.

This changes the sys.path initialisation to add the
*starting* working directory as sys.path[0] instead,
such that changes to the working directory while the
program is running will have no effect on imports
when using the -m switch.

@ncoghlan

ncoghlan added a commit to ncoghlan/cpython that referenced this pull request

Mar 25, 2018
Historically, -m added the empty string as sys.path
zero, meaning it resolved imports against the current
working directory, the same way -c and the interactive
prompt do.

This changes the sys.path initialisation to add the
*starting* working directory as sys.path[0] instead,
such that changes to the working directory while the
program is running will have no effect on imports
when using the -m switch.

(cherry picked from commit d5d9e02)

ncoghlan added a commit that referenced this pull request

Mar 25, 2018
)

Historically, -m added the empty string as sys.path
zero, meaning it resolved imports against the current
working directory, the same way -c and the interactive
prompt do.

This changes the sys.path initialisation to add the
*starting* working directory as sys.path[0] instead,
such that changes to the working directory while the
program is running will have no effect on imports
when using the -m switch.

(cherry picked from commit d5d9e02)

@ncoghlan ncoghlan deleted the bpo-33053-use-absolute-search-path-for-dash-m branch

March 30, 2018 07:42