]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
Fix: #895: pythonmodule: add all site-packages directories to sys.path 896/head
authorКоренберг Марк <mark@ideco.ru>
Sun, 11 Jun 2023 06:59:36 +0000 (09:59 +0300)
committerКоренберг Марк <mark@ideco.ru>
Sun, 11 Jun 2023 07:39:13 +0000 (10:39 +0300)
pythonmod/pythonmod.c

index 28ce0eec4f170d32527493b798defd555eae009e..3aa1c80f6c6dee1f525f529dba5352a4264ac296 100644 (file)
@@ -328,44 +328,12 @@ int pythonmod_init(struct module_env* env, int id)
          env->cfg->directory);
          PyRun_SimpleString(wdir);
       }
-      /* Check if sysconfig is there and use that instead of distutils;
-       * distutils.sysconfig is deprecated in Python 3.10. */
-#if PY_MAJOR_VERSION <= 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 9)
-      /* For older versions, first try distutils.sysconfig because the
-       * sysconfig paths may contain wrong values, eg. on Debian10 for
-       * python 2.7 and 3.7. */
-      if(PyRun_SimpleString("import distutils.sysconfig \n") < 0) {
-         log_info("pythonmod: module distutils.sysconfig not available; "
-            "falling back to sysconfig.");
-         if(PyRun_SimpleString("import sysconfig \n") < 0
-            || PyRun_SimpleString("sys.path.append("
-            "sysconfig.get_path('platlib')) \n") < 0) {
-            goto python_init_fail;
-         }
-      } else {
-         if(PyRun_SimpleString("sys.path.append("
-            "distutils.sysconfig.get_python_lib(1,0)) \n") < 0) {
-            goto python_init_fail;
-         }
+      if(PyRun_SimpleString("import site\n") < 0) {
+         goto python_init_fail;
       }
-#else
-      /* Python 3.10 and higher, check sysconfig first,
-       * distutils is deprecated. */
-      if(PyRun_SimpleString("import sysconfig \n") < 0) {
-         log_info("pythonmod: module sysconfig not available; "
-            "falling back to distutils.sysconfig.");
-         if(PyRun_SimpleString("import distutils.sysconfig \n") < 0
-            || PyRun_SimpleString("sys.path.append("
-            "distutils.sysconfig.get_python_lib(1,0)) \n") < 0) {
-            goto python_init_fail;
-         }
-      } else {
-         if(PyRun_SimpleString("sys.path.append("
-            "sysconfig.get_path('platlib')) \n") < 0) {
-            goto python_init_fail;
-         }
+      if(PyRun_SimpleString("sys.path.extend(site.getsitepackages())\n") < 0) {
+         goto python_init_fail;
       }
-#endif
       if(PyRun_SimpleString("from unboundmodule import *\n") < 0)
       {
          goto python_init_fail;