diff --git a/lib/manager/pip_setup/extract.js b/lib/manager/pip_setup/extract.js
index dec10189025e76951b458ee1943fa7b520d19a20..1673dcdceefbdca06e06e556934c8b281283e690 100644
--- a/lib/manager/pip_setup/extract.js
+++ b/lib/manager/pip_setup/extract.js
@@ -43,12 +43,18 @@ async function extractSetupFile(content, packageFile, config) {
     cmd = 'python';
   }
   logger.debug({ cmd, args }, 'python command');
-
-  const { stdout, stderr } = await exec(`${cmd} ${args.join(' ')}`, {
-    cwd,
-    shell: true,
-    timeout: 5000,
-  });
+  let stdout;
+  let stderr;
+  try {
+    ({ stdout, stderr } = await exec(`${cmd} ${args.join(' ')}`, {
+      cwd,
+      shell: true,
+      timeout: 5000,
+    }));
+  } catch (err) {
+    logger.warn({ err }, 'Error extracting setup.py');
+    throw err;
+  }
   // istanbul ignore if
   if (stderr) {
     logger.warn({ stdout, stderr }, 'Error in read setup file');