]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-8901: Windows registry path is now ignored with the -E option (GH-18169)
authorZackery Spytz <zspytz@gmail.com>
Mon, 30 Mar 2020 16:04:45 +0000 (10:04 -0600)
committerGitHub <noreply@github.com>
Mon, 30 Mar 2020 16:04:45 +0000 (17:04 +0100)
Doc/whatsnew/3.9.rst
Misc/NEWS.d/next/Windows/2020-01-24-09-15-41.bpo-8901.hVnhGO.rst [new file with mode: 0644]
PC/getpathp.c

index f58bcbcd3ce4e8e802f1c752d1eeda898bef4632..59083da3a262bd1c7436cbc3beaa536024648944 100644 (file)
@@ -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 (file)
index 0000000..1d452cf
--- /dev/null
@@ -0,0 +1 @@
+Ignore the Windows registry when the ``-E`` option is used.
index 7a2c1fd6fe63d43c28790b99087d73a6db95f9f1..aa820e57a9cb2b9debbbb2e761f72edf9335aafe 100644 (file)
@@ -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! */