Fix bug with cache's parent directory not existing (#4988)

By changing the function used to create the cache from ``os.mkdir``
to ``os.makedirs`` we now handle non-existing parent directories
correctly.
This closes #4900
diff --git a/ChangeLog b/ChangeLog
index c16702c..0ab7ee6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -73,6 +73,10 @@
 
   Closes #4901
 
+* Fix a bug where pylint complained if the cache's parent directory does not exist
+
+  Closes #4900
+
 
 What's New in Pylint 2.10.3?
 ============================
diff --git a/doc/whatsnew/2.11.rst b/doc/whatsnew/2.11.rst
index 6a9ed66..8dfcbf6 100644
--- a/doc/whatsnew/2.11.rst
+++ b/doc/whatsnew/2.11.rst
@@ -75,3 +75,7 @@
 * Setting ``min-similarity-lines`` to 0 now makes the similarty checker stop checking for duplicate code
 
   Closes #4901
+
+* Fix a bug where pylint complained if the cache's parent directory does not exist
+
+  Closes #4900
diff --git a/pylint/config/__init__.py b/pylint/config/__init__.py
index a3e5381..f923a63 100644
--- a/pylint/config/__init__.py
+++ b/pylint/config/__init__.py
@@ -125,7 +125,7 @@
 def save_results(results, base):
     if not os.path.exists(PYLINT_HOME):
         try:
-            os.mkdir(PYLINT_HOME)
+            os.makedirs(PYLINT_HOME)
         except OSError:
             print(f"Unable to create directory {PYLINT_HOME}", file=sys.stderr)
     data_file = _get_pdata_path(base, 1)