diff --git a/diskimage_builder/elements/pip-and-virtualenv/package-installs.yaml b/diskimage_builder/elements/pip-and-virtualenv/package-installs.yaml
index 6b62929c1..3f2179edd 100644
--- a/diskimage_builder/elements/pip-and-virtualenv/package-installs.yaml
+++ b/diskimage_builder/elements/pip-and-virtualenv/package-installs.yaml
@@ -1,8 +1,18 @@
-# This package is only valid for SUSE and we need to pull it in
-# early enough because pip depends on it.
+# The python-xml and python3 openSUSE packages contain core python modules
+# such as the XML one but the python devel packages do not pull them. As
+# such we need to install them during the pre-install.d phase so they are
+# available as early as possible. See
+# - https://bugzilla.suse.com/show_bug.cgi?id=1046990
+# - https://review.openstack.org/#/c/478648/
+# - https://review.openstack.org/#/c/478650/
+# for discussions about this issue.
 python-xml:
   phase: pre-install.d
   dib_python_version: 2
+python3:
+  phase: pre-install.d
+  installtype: package
+  dib_python_version: 3
 python-pip:
   installtype: package
   dib_python_version: 2
diff --git a/diskimage_builder/elements/pip-and-virtualenv/pkg-map b/diskimage_builder/elements/pip-and-virtualenv/pkg-map
index 8cfd5839b..0cfe54623 100644
--- a/diskimage_builder/elements/pip-and-virtualenv/pkg-map
+++ b/diskimage_builder/elements/pip-and-virtualenv/pkg-map
@@ -11,7 +11,8 @@
     "suse": {
       "python-xml": "python-xml",
       "python-dev": "python-devel",
-      "python3-dev": "python3-devel"
+      "python3-dev": "python3-devel",
+      "python3": "python3"
     },
     "redhat": {
       "python-dev": "python2-devel",
@@ -19,6 +20,7 @@
     }
   },
   "default": {
-    "python-xml": ""
+    "python-xml": "",
+    "python3": ""
   }
 }