diff --git a/lib/modules/versioning/pep440/range.spec.ts b/lib/modules/versioning/pep440/range.spec.ts
index 193d558fd6749b58332743054c217323e6feae74..5c913f39dc89710ecaa7263b32f8df06664c4b48 100644
--- a/lib/modules/versioning/pep440/range.spec.ts
+++ b/lib/modules/versioning/pep440/range.spec.ts
@@ -1,17 +1,34 @@
-import { checkRangeAndRemoveUnnecessaryRangeLimit } from './range';
+import { logger } from '../../../logger';
+import { checkRangeAndRemoveUnnecessaryRangeLimit, getNewValue } from './range';
 
-it.each`
-  rangeInput           | newVersion | expected
-  ${'==4.1.*,>=3.2.2'} | ${'4.1.1'} | ${'==4.1.*'}
-  ${'==4.0.*,>=3.2.2'} | ${'4.0.0'} | ${'==4.0.*'}
-  ${'==7.2.*'}         | ${'7.2.0'} | ${'==7.2.*'}
-`(
-  'checkRange("$rangeInput, "$newVersion"") === "$expected"',
-  ({ rangeInput, newVersion, expected }) => {
-    const res = checkRangeAndRemoveUnnecessaryRangeLimit(
-      rangeInput,
-      newVersion,
+describe('modules/versioning/pep440/range', () => {
+  it.each`
+    rangeInput           | newVersion | expected
+    ${'==4.1.*,>=3.2.2'} | ${'4.1.1'} | ${'==4.1.*'}
+    ${'==4.0.*,>=3.2.2'} | ${'4.0.0'} | ${'==4.0.*'}
+    ${'==7.2.*'}         | ${'7.2.0'} | ${'==7.2.*'}
+  `(
+    'checkRange("$rangeInput, "$newVersion"") === "$expected"',
+    ({ rangeInput, newVersion, expected }) => {
+      const res = checkRangeAndRemoveUnnecessaryRangeLimit(
+        rangeInput,
+        newVersion,
+      );
+      expect(res).toEqual(expected);
+    },
+  );
+
+  it('returns null without warning if new version is excluded from range', () => {
+    const res = getNewValue({
+      currentValue: '>=1.25.0,<2,!=1.32.0',
+      rangeStrategy: 'auto',
+      newVersion: '1.32.0',
+      currentVersion: '1.25.0',
+    });
+    expect(res).toBeNull();
+    expect(logger.debug).toHaveBeenCalledWith(
+      'Cannot calculate new value as the newVersion:`1.32.0` is excluded from range: `>=1.25.0,<2,!=1.32.0`',
     );
-    expect(res).toEqual(expected);
-  },
-);
+    expect(logger.warn).not.toHaveBeenCalled();
+  });
+});
diff --git a/lib/modules/versioning/pep440/range.ts b/lib/modules/versioning/pep440/range.ts
index 0c94a3c4c894a881579ea669413c254845212190..ea36bb335bfc1816dadfff343127d298136a79a1 100644
--- a/lib/modules/versioning/pep440/range.ts
+++ b/lib/modules/versioning/pep440/range.ts
@@ -129,6 +129,18 @@ export function getNewValue({
     return null;
   }
 
+  // return early if newVersion is excluded from range
+  if (
+    ranges.some(
+      (range) => range.operator === '!=' && range.version === newVersion,
+    )
+  ) {
+    logger.debug(
+      `Cannot calculate new value as the newVersion:\`${newVersion}\` is excluded from range: \`${currentValue}\``,
+    );
+    return null;
+  }
+
   switch (rangeStrategy) {
     case 'auto':
     case 'replace':
@@ -191,6 +203,7 @@ export function getNewValue({
     newVersion,
   );
 
+  // istanbul ignore if
   if (!satisfies(newVersion, checkedResult)) {
     // we failed at creating the range
     logger.warn(