[Python-checkins] bpo-33944: note about the intended use of code in .pth files (GH-10131)

Miss Islington (bot) webhook-mailer at python.org
Wed Sep 11 09:21:08 EDT 2019


https://github.com/python/cpython/commit/f9b5840fb4497a9e2ba2c1f01ad0dafba04c8496
commit: f9b5840fb4497a9e2ba2c1f01ad0dafba04c8496
branch: master
author: native-api <ivan_pozdeev at mail.ru>
committer: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
date: 2019-09-11T06:21:04-07:00
summary:

bpo-33944: note about the intended use of code in .pth files (GH-10131)



https://bugs.python.org/issue33944

files:
A Misc/NEWS.d/next/Documentation/2018-10-26-18-10-29.bpo-33944.V1YeOA.rst
M Doc/library/site.rst

diff --git a/Doc/library/site.rst b/Doc/library/site.rst
index 9e4d402c1f5e..e1ca160c107b 100644
--- a/Doc/library/site.rst
+++ b/Doc/library/site.rst
@@ -61,6 +61,19 @@ directory rather than a file.  No item is added to ``sys.path`` more than
 once.  Blank lines and lines beginning with ``#`` are skipped.  Lines starting
 with ``import`` (followed by space or tab) are executed.
 
+.. note::
+
+   An executable line in a :file:`.pth` file is run at every Python startup,
+   regardless of whether a particular module is actually going to be used.
+   Its impact should thus be kept to a minimum.
+   The primary intended purpose of executable lines is to make the
+   corresponding module(s) importable
+   (load 3rd-party import hooks, adjust :envvar:`PATH` etc).
+   Any other initialization is supposed to be done upon a module's
+   actual import, if and when it happens.
+   Limiting a code chunk to a single line is a deliberate measure
+   to discourage putting anything more complex here.
+
 .. index::
    single: package
    triple: path; configuration; file
diff --git a/Misc/NEWS.d/next/Documentation/2018-10-26-18-10-29.bpo-33944.V1YeOA.rst b/Misc/NEWS.d/next/Documentation/2018-10-26-18-10-29.bpo-33944.V1YeOA.rst
new file mode 100644
index 000000000000..29bec88c9649
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/2018-10-26-18-10-29.bpo-33944.V1YeOA.rst
@@ -0,0 +1 @@
+Added a note about the intended use of code in .pth files.



More information about the Python-checkins mailing list