summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2018-03-25 13:03:10 (GMT)
committerGitHub <noreply@github.com>2018-03-25 13:03:10 (GMT)
commitd5d9e02dd3c6df06a8dd9ce75ee9b52976420a8b (patch)
treec3c02b573a85d3a5caa61e1dd5188ba6bec36392 /Doc
parentbc77eff8b96be4f035e665ab35c1d06e22f46491 (diff)
downloadcpython-d5d9e02dd3c6df06a8dd9ce75ee9b52976420a8b.zip
cpython-d5d9e02dd3c6df06a8dd9ce75ee9b52976420a8b.tar.gz
cpython-d5d9e02dd3c6df06a8dd9ce75ee9b52976420a8b.tar.bz2
bpo-33053: -m now adds *starting* directory to sys.path (GH-6231)
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.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/test.rst4
-rw-r--r--Doc/whatsnew/3.7.rst11
2 files changed, 13 insertions, 2 deletions
diff --git a/Doc/library/test.rst b/Doc/library/test.rst
index 6041f52..0746fcf 100644
--- a/Doc/library/test.rst
+++ b/Doc/library/test.rst
@@ -1332,8 +1332,8 @@ script execution tests.
.. function:: run_python_until_end(*args, **env_vars)
Set up the environment based on *env_vars* for running the interpreter
- in a subprocess. The values can include ``__isolated``, ``__cleavenv``,
- and ``TERM``.
+ in a subprocess. The values can include ``__isolated``, ``__cleanenv``,
+ ``__cwd``, and ``TERM``.
.. function:: assert_python_ok(*args, **env_vars)
diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst
index 0b5ad00..e0c19cf 100644
--- a/Doc/whatsnew/3.7.rst
+++ b/Doc/whatsnew/3.7.rst
@@ -421,6 +421,12 @@ Other Language Changes
writable.
(Contributed by Nathaniel J. Smith in :issue:`30579`.)
+* When using the :option:`-m` switch, ``sys.path[0]`` is now eagerly expanded
+ to the full starting directory path, rather than being left as the empty
+ directory (which allows imports from the *current* working directory at the
+ time when an import occurs)
+ (Contributed by Nick Coghlan in :issue:`33053`.)
+
New Modules
===========
@@ -1138,6 +1144,11 @@ Changes in Python behavior
parentheses can be omitted only on calls.
(Contributed by Serhiy Storchaka in :issue:`32012` and :issue:`32023`.)
+* When using the ``-m`` switch, the starting directory is now added to sys.path,
+ rather than the current working directory. Any programs that are found to be
+ relying on the previous behaviour will need to be updated to manipulate
+ :data:`sys.path` appropriately.
+
Changes in the Python API
-------------------------