From f811bbfe6c41d90dd1ad1c68d05a84541ecdf162 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Thu, 6 Feb 2014 09:22:51 -0500 Subject: [PATCH] Issue #6386: When executing a script that's a symlink, the directory where the symlink resolves to is added to sys.path, not the directory containing the symlink itself. Thanks to Sanko Resic for an initial attempt at the patch. --- Doc/tutorial/modules.rst | 10 ++++++++-- Misc/NEWS | 7 +++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Doc/tutorial/modules.rst b/Doc/tutorial/modules.rst index 94a66ac698..fd361aed69 100644 --- a/Doc/tutorial/modules.rst +++ b/Doc/tutorial/modules.rst @@ -165,10 +165,16 @@ a built-in module with that name. If not found, it then searches for a file named :file:`spam.py` in a list of directories given by the variable :data:`sys.path`. :data:`sys.path` is initialized from these locations: -* the directory containing the input script (or the current directory). +* The directory containing the input script (or the current directory when no + file is specified). * :envvar:`PYTHONPATH` (a list of directory names, with the same syntax as the shell variable :envvar:`PATH`). -* the installation-dependent default. +* The installation-dependent default. + +.. note:: + On file systems which support symlinks, the directory containing the input + script is calculated after the symlink is followed. In other words the + directory containing the symlink is **not** added to the module search path. After initialization, Python programs can modify :data:`sys.path`. The directory containing the script being run is placed at the beginning of the diff --git a/Misc/NEWS b/Misc/NEWS index 5403a6abb9..c963c83f4d 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -163,6 +163,13 @@ Build - Issue #20465: Update SQLite shipped with OS X installer to 3.8.3. +Documentation +------------- + +- Issue #6386: Clarify in the tutorial that specifying a symlink to execute + means the directory containing the executed script and not the symlink is + added to sys.path. + What's New in Python 3.4.0 Beta 3? ================================== -- 2.40.0