diff --git a/addons/base_vat/tests/test_validate_ruc.py b/addons/base_vat/tests/test_validate_ruc.py
index 32cf2edef15ff26aec3163c4275db0453a66e6ef..9f65d5aab374793629ed822db70b5644ff9762b3 100644
--- a/addons/base_vat/tests/test_validate_ruc.py
+++ b/addons/base_vat/tests/test_validate_ruc.py
@@ -1,10 +1,7 @@
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
 from odoo.tests import common
 from odoo.exceptions import ValidationError
-try:
-    from unittest.mock import patch
-except ImportError:
-    from mock import patch
+from unittest.mock import patch
 
 from stdnum.eu import vat
 
diff --git a/addons/hw_drivers/drivers/KeyboardUSBDriver.py b/addons/hw_drivers/drivers/KeyboardUSBDriver.py
index 97d4e106ca7a094cf9bf2510cf7c80e49a5a351b..e7cd1d15a531b3093f869dcccc7a8b16729cc0e7 100644
--- a/addons/hw_drivers/drivers/KeyboardUSBDriver.py
+++ b/addons/hw_drivers/drivers/KeyboardUSBDriver.py
@@ -13,10 +13,7 @@ import time
 from threading import Lock
 from usb import util
 import urllib3
-try:
-    from queue import Queue, Empty
-except ImportError:
-    from Queue import Queue, Empty  # pylint: disable=deprecated-module
+from queue import Queue, Empty
 
 from odoo import http, _
 from odoo.addons.hw_proxy.controllers.main import drivers as old_drivers
diff --git a/addons/hw_escpos/controllers/main.py b/addons/hw_escpos/controllers/main.py
index 2b68ce1b53fbfc84da19660209f5e6be4dc21e2f..091a6bc5e533ad66446b11c67ba19ed5c0341887 100644
--- a/addons/hw_escpos/controllers/main.py
+++ b/addons/hw_escpos/controllers/main.py
@@ -18,10 +18,7 @@ try:
 except ImportError:
     escpos = printer = None
 
-try:
-    from queue import Queue
-except ImportError:
-    from Queue import Queue # pylint: disable=deprecated-module
+from queue import Queue
 from threading import Thread, Lock
 
 try:
diff --git a/addons/l10n_it_edi/models/ir_mail_server.py b/addons/l10n_it_edi/models/ir_mail_server.py
index 66e1cfa908ffe021149627ea4e67b3847749e6ed..24ccd392a8e306261bd7e5692730c0f81c4def15 100644
--- a/addons/l10n_it_edi/models/ir_mail_server.py
+++ b/addons/l10n_it_edi/models/ir_mail_server.py
@@ -10,14 +10,10 @@ import email.policy
 import dateutil
 import pytz
 import base64
-try:
-    from xmlrpc import client as xmlrpclib
-except ImportError:
-    import xmlrpclib
-
 
 from lxml import etree
 from datetime import datetime
+from xmlrpc import client as xmlrpclib
 
 from odoo import api, fields, models, tools, _
 from odoo.exceptions import ValidationError, UserError
diff --git a/addons/mail/models/mail_thread.py b/addons/mail/models/mail_thread.py
index 43d705b1c7990d4c81455080f0c1474e9c73dbb2..ff31ce7deb636ee39eaf594483aa3ebef3ff4748 100644
--- a/addons/mail/models/mail_thread.py
+++ b/addons/mail/models/mail_thread.py
@@ -16,15 +16,12 @@ import re
 import socket
 import time
 import threading
-try:
-    from xmlrpc import client as xmlrpclib
-except ImportError:
-    import xmlrpclib
 
 from collections import namedtuple
 from email.message import EmailMessage
 from lxml import etree
 from werkzeug import urls
+from xmlrpc import client as xmlrpclib
 
 from odoo import _, api, exceptions, fields, models, tools, registry, SUPERUSER_ID
 from odoo.exceptions import MissingError
diff --git a/addons/mass_mailing/tests/test_mass_mailing_shortener.py b/addons/mass_mailing/tests/test_mass_mailing_shortener.py
index 681bbbf0062386b66632741222f7710c818a8866..35ca6a978e3666ac79eea17d8ff384fd302ab87e 100644
--- a/addons/mass_mailing/tests/test_mass_mailing_shortener.py
+++ b/addons/mass_mailing/tests/test_mass_mailing_shortener.py
@@ -3,11 +3,7 @@
 
 from odoo.tests import common
 from lxml import etree
-
-try:
-    from unittest.mock import patch
-except ImportError:
-    from mock import patch
+from unittest.mock import patch
 
 
 class TestMassMailingShortener(common.TransactionCase):
diff --git a/addons/website/tests/test_views.py b/addons/website/tests/test_views.py
index ad060103d24730065bf2d9cf9584922a8b20da15..6abcef13aafa9f109988b3aef9ff01506903db16 100644
--- a/addons/website/tests/test_views.py
+++ b/addons/website/tests/test_views.py
@@ -1,12 +1,8 @@
 # -*- coding: utf-8 -*-
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
 
-try:
-    from itertools import zip_longest
-except ImportError:
-    from itertools import izip_longest as zip_longest
-
 import unittest
+from itertools import zip_longest
 from lxml import etree as ET, html
 from lxml.html import builder as h
 
diff --git a/addons/website/tests/test_website_reset_password.py b/addons/website/tests/test_website_reset_password.py
index a8ec713cc8aae6b3f9c63dffa0b9c658ec424b1b..b3b4e0333e0e5245ef7f1b1b6ffaf3d35469ce1a 100644
--- a/addons/website/tests/test_website_reset_password.py
+++ b/addons/website/tests/test_website_reset_password.py
@@ -1,10 +1,7 @@
 # -*- coding: utf-8 -*-
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
 
-try:
-    from unittest.mock import patch
-except ImportError:
-    from mock import patch
+from unittest.mock import patch
 
 import odoo
 from odoo.tests import tagged
diff --git a/addons/website_crm_partner_assign/tests/test_partner_assign.py b/addons/website_crm_partner_assign/tests/test_partner_assign.py
index 9bf146ab107c9f5517bfbe45eed02b066a03808c..4a376b4b132b70a3d3cd51c39a0ef35258b251a0 100644
--- a/addons/website_crm_partner_assign/tests/test_partner_assign.py
+++ b/addons/website_crm_partner_assign/tests/test_partner_assign.py
@@ -1,12 +1,9 @@
 # -*- coding: utf-8 -*-
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
 
-try:
-    from unittest.mock import patch
-except ImportError:
-    from mock import patch
-from odoo.exceptions import AccessError
+from unittest.mock import patch
 
+from odoo.exceptions import AccessError
 from odoo.tests.common import TransactionCase
 from odoo.addons.crm.tests.common import TestCrmCommon
 from odoo.addons.mail.tests.common import mail_new_test_user
diff --git a/addons/website_sale/tests/test_website_sale_mail.py b/addons/website_sale/tests/test_website_sale_mail.py
index 36ca65993b32dba722d02d81761823f894cb942c..4962dd0de5e84aec78f6904c85121c49b195a6c4 100644
--- a/addons/website_sale/tests/test_website_sale_mail.py
+++ b/addons/website_sale/tests/test_website_sale_mail.py
@@ -1,10 +1,7 @@
 # -*- coding: utf-8 -*-
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
 
-try:
-    from unittest.mock import patch
-except ImportError:
-    from mock import patch
+from unittest.mock import patch
 
 import odoo
 from odoo.tests import tagged
diff --git a/addons/website_sale/tests/test_website_sale_pricelist.py b/addons/website_sale/tests/test_website_sale_pricelist.py
index d0087b2b1b050ecd4da3e143cf4f30a06e1c0cfb..04306b9b263c25fc62ce50452d045bde6165886c 100644
--- a/addons/website_sale/tests/test_website_sale_pricelist.py
+++ b/addons/website_sale/tests/test_website_sale_pricelist.py
@@ -1,9 +1,7 @@
 # -*- coding: utf-8 -*-
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
-try:
-    from unittest.mock import patch
-except ImportError:
-    from mock import patch
+from unittest.mock import patch
+
 from odoo.addons.base.tests.common import TransactionCaseWithUserDemo, HttpCaseWithUserPortal
 from odoo.tests import tagged
 from odoo.tests.common import HttpCase, TransactionCase
diff --git a/debian/control b/debian/control
index 4468eebc4f71fc5c0499c05dd60c13e892fc80bc..c8fdd67b96c9bb71ed2d491bb291527911abe8f8 100644
--- a/debian/control
+++ b/debian/control
@@ -28,7 +28,6 @@ Depends:
  python3-libsass,
  python3-lxml,
  python3-mako,
- python3-mock,
  python3-passlib,
  python3-polib,
  python3-psutil,
diff --git a/doc/_extensions/odoo_ext/translator.py b/doc/_extensions/odoo_ext/translator.py
index 14e4b20b144bf15259be1391f7d0cc07d0850829..5760f184b828b4e1d0482a72d868e32f26a2a40c 100644
--- a/doc/_extensions/odoo_ext/translator.py
+++ b/doc/_extensions/odoo_ext/translator.py
@@ -4,14 +4,11 @@ from __future__ import print_function
 import os.path
 import posixpath
 import re
-try:
-    from urllib.request import url2pathname  # pylint: disable=deprecated-module
-except ImportError:
-    from urllib import url2pathname  # pylint: disable=deprecated-module
 
 from docutils import nodes
 from sphinx import addnodes, util, builders
 from sphinx.locale import admonitionlabels
+from urllib.request import url2pathname
 
 
 def _parents(node):
diff --git a/odoo/addons/test_new_api/tests/test_onchange.py b/odoo/addons/test_new_api/tests/test_onchange.py
index 51f313616ac051da99035655ae4f825102f47c8e..5bffeae5f863b348e5f6b1c6187e626bdafa4305 100644
--- a/odoo/addons/test_new_api/tests/test_onchange.py
+++ b/odoo/addons/test_new_api/tests/test_onchange.py
@@ -1,10 +1,7 @@
 # -*- coding: utf-8 -*-
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
 
-try:
-    from unittest.mock import patch
-except ImportError:
-    from mock import patch
+from unittest.mock import patch
 
 from odoo.addons.base.tests.common import SavepointCaseWithUserDemo
 from odoo.tests import common
diff --git a/odoo/addons/test_populate/tests/test_populate.py b/odoo/addons/test_populate/tests/test_populate.py
index 09243fefdea9e720dc9bc9857d1059e1552ecbdb..0a5c80d80253ba0750cd1864ddef938145db4ebd 100644
--- a/odoo/addons/test_populate/tests/test_populate.py
+++ b/odoo/addons/test_populate/tests/test_populate.py
@@ -5,10 +5,7 @@ import logging
 from odoo.tests import common
 from odoo.cli.populate import Populate
 from odoo.tools import mute_logger, populate
-try:
-    from unittest.mock import patch
-except ImportError:
-    from mock import patch
+from unittest.mock import patch
 
 
 _logger = logging.getLogger(__name__)
@@ -154,4 +151,4 @@ class TestPopulateMissing(common.TransactionCase):
                 if no_factory_fields:
                     _logger.info('Model %s has some undefined field: %s', model._name, no_factory_fields)
 
-        _logger.info('No populate factories defiend for %s', no_factory_models)
\ No newline at end of file
+        _logger.info('No populate factories defiend for %s', no_factory_models)
diff --git a/odoo/fields.py b/odoo/fields.py
index 38dd2b8d8337f8785e3031853545ad105bd870e0..2d38e9ff8e34a4ae3ec72e52d1e036fa0731bec4 100644
--- a/odoo/fields.py
+++ b/odoo/fields.py
@@ -6,18 +6,12 @@
 from collections import defaultdict
 from datetime import date, datetime, time
 from operator import attrgetter
+from xmlrpc.client import MAXINT
 import itertools
 import logging
 import base64
 import binascii
 import pytz
-
-try:
-    from xmlrpc.client import MAXINT
-except ImportError:
-    #pylint: disable=bad-python3-import
-    from xmlrpclib import MAXINT
-
 import psycopg2
 
 from .tools import (
diff --git a/odoo/service/wsgi_server.py b/odoo/service/wsgi_server.py
index c29d91a2fbc4bdddbe9901a319911ccde2fd0a44..65ca8806df91bbb9b21b98c031501ecf47b4e5a9 100644
--- a/odoo/service/wsgi_server.py
+++ b/odoo/service/wsgi_server.py
@@ -12,12 +12,7 @@ import sys
 import threading
 import traceback
 
-
-try:
-    from xmlrpc import client as xmlrpclib
-except ImportError:
-    # pylint: disable=bad-python3-import
-    import xmlrpclib
+from xmlrpc import client as xmlrpclib
 
 import werkzeug.exceptions
 import werkzeug.wrappers
diff --git a/odoo/tests/common.py b/odoo/tests/common.py
index 610ead0cbf92888c59072d9417a810b132bde8e7..7dc9ba076f28417e69e9412c4efa8c0861f9c214 100644
--- a/odoo/tests/common.py
+++ b/odoo/tests/common.py
@@ -32,7 +32,9 @@ from datetime import datetime, date
 from unittest.mock import patch
 
 from decorator import decorator
+from itertools import zip_longest as izip_longest
 from lxml import etree, html
+from xmlrpc import client as xmlrpclib
 
 from odoo.models import BaseModel
 from odoo.osv.expression import normalize_domain, TRUE_LEAF, FALSE_LEAF
@@ -40,22 +42,12 @@ from odoo.tools import float_compare, single_email_re
 from odoo.tools.misc import find_in_path
 from odoo.tools.safe_eval import safe_eval
 
-try:
-    from itertools import zip_longest as izip_longest
-except ImportError:
-    from itertools import izip_longest
-
 try:
     import websocket
 except ImportError:
     # chrome headless tests will be skipped
     websocket = None
 
-try:
-    from xmlrpc import client as xmlrpclib
-except ImportError:
-    # pylint: disable=bad-python3-import
-    import xmlrpclib
 
 import odoo
 import pprint
diff --git a/odoo/tools/appdirs.py b/odoo/tools/appdirs.py
index 67ba75625c191b5c2ff1cfd751bd14f03c300d7b..5f5b7bd9d7d1ea399b6bb43db85e6b2bf64c8a7c 100644
--- a/odoo/tools/appdirs.py
+++ b/odoo/tools/appdirs.py
@@ -367,11 +367,7 @@ def _get_win_folder_from_registry(csidl_name):
     registry for this guarantees us the correct answer for all CSIDL_*
     names.
     """
-    try:
-        import winreg as _winreg
-    except ImportError:
-        # pylint: disable=bad-python3-import
-        import _winreg
+    import winreg as _winreg
 
     shell_folder_name = {
         "CSIDL_APPDATA": "AppData",
diff --git a/odoo/tools/config.py b/odoo/tools/config.py
index 65e22cc37afe3bb344e3f0122436ac07873abc25..c9f6e2556c3064a73f21b7a188b7996ccc3d379b 100644
--- a/odoo/tools/config.py
+++ b/odoo/tools/config.py
@@ -1,11 +1,7 @@
 #odoo.loggers.handlers. -*- coding: utf-8 -*-
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
 
-try:
-    import configparser as ConfigParser
-except ImportError:
-    import ConfigParser
-
+import configparser as ConfigParser
 import errno
 import logging
 import optparse
diff --git a/requirements.txt b/requirements.txt
index 39680b9c1f4b34642eaa89e7a97ad0f03b2f5c55..8f3ee1b5251ac76d72722fcb390c55045f0aa3bb 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -17,7 +17,6 @@ lxml==4.3.2 ; sys_platform != 'win32' and python_version >= '3.7'
 lxml ; sys_platform == 'win32'
 Mako==1.0.7
 MarkupSafe==1.1.0
-mock==2.0.0
 num2words==0.5.6
 ofxparse==0.19
 passlib==1.7.1
diff --git a/setup/package.dfdebian b/setup/package.dfdebian
index 1caf6033aff2313226a5fb923b7b316cfa143672..65e83d16b74b06a895b3178ac8ecd89fbf9ef322 100644
--- a/setup/package.dfdebian
+++ b/setup/package.dfdebian
@@ -35,7 +35,6 @@ RUN apt-get update -qq &&  \
         python3-libsass \
         python3-lxml \
         python3-mako \
-        python3-mock \
         python3-ofxparse \
         python3-passlib \
         python3-polib \
diff --git a/setup/package.dffedora b/setup/package.dffedora
index ade6d8fece40a4445b7448b12bbf128058f53558..6d9075f851d73670e9a1f4612cc624396980245f 100644
--- a/setup/package.dffedora
+++ b/setup/package.dffedora
@@ -20,7 +20,6 @@ RUN dnf update -d 0 -e 0 -y && \
 	  python3-lxml \
 	  python3-mako \
 	  python3-markupsafe \
-	  python3-mock \
 	  python3-num2words \
 	  python3-ofxparse \
 	  python3-passlib \