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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Conversation3 Commits5 Checks0 Files changed

Conversation

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters

[ Show hidden characters]({{ revealButtonHref }})

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.

https://bugs.python.org/issue33053

@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

@miss-islington

Thanks @ncoghlan for the PR 🌮🎉.. I'm working now to backport this PR to: 3.7.
🐍🍒⛏🤖

@miss-islington

Sorry, @ncoghlan, I could not cleanly backport this to 3.7 due to a conflict.
Please backport using cherry_picker on command line.
cherry_picker d5d9e02dd3c6df06a8dd9ce75ee9b52976420a8b 3.7

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

Mar 25, 2018

@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.

(cherry picked from commit d5d9e02)

@bedevere-bot

ncoghlan added a commit that referenced this pull request

Mar 25, 2018

@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.

(cherry picked from commit d5d9e02)

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

March 30, 2018 07:42