Issue #19375: The site module adding a "site-python" directory to sys.path, if it exists, is now deprecated.

This commit is contained in:
Antoine Pitrou 2013-10-25 21:39:26 +02:00
parent 79aa68dfc1
commit 3b2f0f0459
4 changed files with 13 additions and 1 deletions

View File

@ -38,6 +38,9 @@ Unix and Macintosh). For each of the distinct head-tail combinations, it sees
if it refers to an existing directory, and if so, adds it to ``sys.path`` and
also inspects the newly added path for configuration files.
.. deprecated:: 3.4
Support for the "site-python" directory will be removed in 3.5.
If a file named "pyvenv.cfg" exists one directory above sys.executable,
sys.prefix and sys.exec_prefix are set to that directory and
it is also checked for site-packages and site-python (sys.base_prefix and

View File

@ -685,7 +685,8 @@ Deprecated functions and types of the C API
Deprecated features
-------------------
* No feature deprecations are planned for Python 3.4.
* The site module adding a "site-python" directory to sys.path, if it
exists, is deprecated (:issue:`19375`).
Porting to Python 3.4

View File

@ -326,6 +326,11 @@ def addsitepackages(known_paths, prefixes=None):
"""Add site-packages (and possibly site-python) to sys.path"""
for sitedir in getsitepackages(prefixes):
if os.path.isdir(sitedir):
if "site-python" in sitedir:
import warnings
warnings.warn('"site-python" directories will not be '
'supported in 3.5 anymore',
DeprecationWarning)
addsitedir(sitedir, known_paths)
return known_paths

View File

@ -27,6 +27,9 @@ Core and Builtins
Library
-------
- Issue #19375: The site module adding a "site-python" directory to sys.path,
if it exists, is now deprecated.
- Issue #19379: Lazily import linecache in the warnings module, to make
startup with warnings faster until a warning gets printed.