[Python-checkins] bpo-8901: Windows registry path is now ignored with the -E option (GH-18169)
Zackery Spytz
webhook-mailer at python.org
Mon Mar 30 12:04:52 EDT 2020
https://github.com/python/cpython/commit/676b105111e2399ed400cd13ab113f9aa891760d
commit: 676b105111e2399ed400cd13ab113f9aa891760d
branch: master
author: Zackery Spytz <zspytz at gmail.com>
committer: GitHub <noreply at github.com>
date: 2020-03-30T17:04:45+01:00
summary:
bpo-8901: Windows registry path is now ignored with the -E option (GH-18169)
files:
A Misc/NEWS.d/next/Windows/2020-01-24-09-15-41.bpo-8901.hVnhGO.rst
M Doc/whatsnew/3.9.rst
M PC/getpathp.c
diff --git a/Doc/whatsnew/3.9.rst b/Doc/whatsnew/3.9.rst
index f58bcbcd3ce4e..59083da3a262b 100644
--- a/Doc/whatsnew/3.9.rst
+++ b/Doc/whatsnew/3.9.rst
@@ -548,6 +548,11 @@ Build and C API Changes
* The :c:func:`PyModule_AddType` function is added to help adding a type to a module.
(Contributed by Dong-hee Na in :issue:`40024`.)
+* The Windows registry is no longer used to initialize :data:`sys.path` when
+ the ``-E`` option is used. This is significant when embedding Python on
+ Windows.
+ (Contributed by Zackery Spytz in :issue:`8901`.)
+
Deprecated
==========
diff --git a/Misc/NEWS.d/next/Windows/2020-01-24-09-15-41.bpo-8901.hVnhGO.rst b/Misc/NEWS.d/next/Windows/2020-01-24-09-15-41.bpo-8901.hVnhGO.rst
new file mode 100644
index 0000000000000..1d452cf26297f
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2020-01-24-09-15-41.bpo-8901.hVnhGO.rst
@@ -0,0 +1 @@
+Ignore the Windows registry when the ``-E`` option is used.
diff --git a/PC/getpathp.c b/PC/getpathp.c
index 7a2c1fd6fe63d..aa820e57a9cb2 100644
--- a/PC/getpathp.c
+++ b/PC/getpathp.c
@@ -783,8 +783,11 @@ calculate_module_search_path(PyCalculatePath *calculate,
{
int skiphome = calculate->home==NULL ? 0 : 1;
#ifdef Py_ENABLE_SHARED
- calculate->machine_path = getpythonregpath(HKEY_LOCAL_MACHINE, skiphome);
- calculate->user_path = getpythonregpath(HKEY_CURRENT_USER, skiphome);
+ if (!Py_IgnoreEnvironmentFlag) {
+ calculate->machine_path = getpythonregpath(HKEY_LOCAL_MACHINE,
+ skiphome);
+ calculate->user_path = getpythonregpath(HKEY_CURRENT_USER, skiphome);
+ }
#endif
/* We only use the default relative PYTHONPATH if we haven't
anything better to use! */
More information about the Python-checkins
mailing list