bpo-32088: Display Deprecation in debug mode (#4474)

When Python is build is debug mode (Py_DEBUG), DeprecationWarning,
PendingDeprecationWarning and ImportWarning warnings are now
displayed by default.

test_venv: run "-m pip" and "-m ensurepip._uninstall" with -W
ignore::DeprecationWarning since pip code is not part of Python.
diff --git a/Lib/warnings.py b/Lib/warnings.py
index a1f7746..48d5e16 100644
--- a/Lib/warnings.py
+++ b/Lib/warnings.py
@@ -508,10 +508,13 @@
 # Module initialization
 _processoptions(sys.warnoptions)
 if not _warnings_defaults:
-    silence = [ImportWarning, PendingDeprecationWarning]
-    silence.append(DeprecationWarning)
-    for cls in silence:
-        simplefilter("ignore", category=cls)
+    py_debug = hasattr(sys, 'gettotalrefcount')
+    if not py_debug:
+        silence = [ImportWarning, PendingDeprecationWarning]
+        silence.append(DeprecationWarning)
+        for cls in silence:
+            simplefilter("ignore", category=cls)
+
     bytes_warning = sys.flags.bytes_warning
     if bytes_warning > 1:
         bytes_action = "error"
@@ -520,8 +523,9 @@
     else:
         bytes_action = "ignore"
     simplefilter(bytes_action, category=BytesWarning, append=1)
+
     # resource usage warnings are enabled by default in pydebug mode
-    if hasattr(sys, 'gettotalrefcount'):
+    if py_debug:
         resource_action = "always"
     else:
         resource_action = "ignore"