diff --git a/pip/_vendor/pyproject_hooks/_in_process/__init__.py b/pip/_vendor/pyproject_hooks/_in_process/__init__.py
index 917fa065b3c7..c9ec8efd53b3 100644
--- a/pip/_vendor/pyproject_hooks/_in_process/__init__.py
+++ b/pip/_vendor/pyproject_hooks/_in_process/__init__.py
@@ -11,8 +11,13 @@ try:
 except AttributeError:
     # Python 3.8 compatibility
     def _in_proc_script_path():
-        return resources.path(__package__, '_in_process.py')
+        if resources.is_resource(__package__, '_in_process.py'):
+            return resources.path(__package__, '_in_process.py')
+        return resources.path(__package__, '_in_process.pyc')
 else:
     def _in_proc_script_path():
+        if resources.files(__package__).joinpath('_in_process.py').is_file():
+            return resources.as_file(
+                resources.files(__package__).joinpath('_in_process.py'))
         return resources.as_file(
-            resources.files(__package__).joinpath('_in_process.py'))
+            resources.files(__package__).joinpath('_in_process.pyc'))
