When checking the impact of upgradign pip from 23.0.1 to 23.1.2 in https://src.fedoraproject.org/rpms/python-pip/pull-request/123 I realized python-argcomplete repeatedly fails with the new pip but succeeds with the old one. The error is: ====================================================================== FAIL: test_console_script_module (test.test.TestBashGlobal.test_console_script_module) Test completing a console_script for a module. ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/argcomplete-2.0.0/test/test.py", line 1293, in test_console_script_module self._test_console_script() File "/builddir/build/BUILD/argcomplete-2.0.0/test/test.py", line 1283, in _test_console_script self.assertEqual(self.sh.run_command('echo $?'), '0\r\n', install_output) AssertionError: '1\r\n' != '0\r\n' - 1 + 0 : Processing /builddir/build/BUILD/argcomplete-2.0.0/test/test_package Installing build dependencies ... [?25l- \ | / - error error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> [7 lines of output] WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f5a0e412190>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f5a0ca518d0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f5a0ca9fe90>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f5a0e61cd10>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f5a0e17e290>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none) ERROR: No matching distribution found for setuptools>=40.8.0 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. [?25h ====================================================================== FAIL: test_console_script_module_wheel (test.test.TestBashGlobal.test_console_script_module_wheel) Test completing a console_script for a module from a wheel. ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/argcomplete-2.0.0/test/test.py", line 1303, in test_console_script_module_wheel self._test_console_script(wheel=True) File "/builddir/build/BUILD/argcomplete-2.0.0/test/test.py", line 1283, in _test_console_script self.assertEqual(self.sh.run_command('echo $?'), '0\r\n', install_output) AssertionError: '1\r\n' != '0\r\n' - 1 + 0 : Processing /builddir/build/BUILD/argcomplete-2.0.0/test/test_package Installing build dependencies ... [?25l- \ | / - error error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> [7 lines of output] WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f85102b2c90>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f850ea25cd0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f850ea73ad0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f85105f1c90>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f8510152410>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none) ERROR: No matching distribution found for setuptools>=40.8.0 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. [?25h ====================================================================== FAIL: test_console_script_package (test.test.TestBashGlobal.test_console_script_package) Test completing a console_script for a package. ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/argcomplete-2.0.0/test/test.py", line 1298, in test_console_script_package self._test_console_script(package=True) File "/builddir/build/BUILD/argcomplete-2.0.0/test/test.py", line 1283, in _test_console_script self.assertEqual(self.sh.run_command('echo $?'), '0\r\n', install_output) AssertionError: '1\r\n' != '0\r\n' - 1 + 0 : Processing /builddir/build/BUILD/argcomplete-2.0.0/test/test_package Installing build dependencies ... [?25l- \ | / - error error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> [7 lines of output] WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f5b5d74e690>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f5b5bbe30d0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f5b5bc2b9d0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f5b5d752310>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f5b5bc40d10>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none) ERROR: No matching distribution found for setuptools>=40.8.0 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. [?25h ====================================================================== FAIL: test_console_script_package_wheel (test.test.TestBashGlobal.test_console_script_package_wheel) Test completing a console_script for a package from a wheel. ---------------------------------------------------------------------- Traceback (most recent call last): File "/builddir/build/BUILD/argcomplete-2.0.0/test/test.py", line 1308, in test_console_script_package_wheel self._test_console_script(package=True, wheel=True) File "/builddir/build/BUILD/argcomplete-2.0.0/test/test.py", line 1283, in _test_console_script self.assertEqual(self.sh.run_command('echo $?'), '0\r\n', install_output) AssertionError: '1\r\n' != '0\r\n' - 1 + 0 : Processing /builddir/build/BUILD/argcomplete-2.0.0/test/test_package Installing build dependencies ... [?25l- \ | / - error error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> [7 lines of output] WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f140e0f4490>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f140c897790>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f140c897190>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f140e429d10>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7f140df8b2d0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/ ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none) ERROR: No matching distribution found for setuptools>=40.8.0 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: subprocess-exited-with-error × pip subprocess to install build dependencies did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. [?25h ---------------------------------------------------------------------- Ran 148 tests in 125.304s FAILED (failures=4, skipped=2, expected failures=13) Test failed: <unittest.runner.TextTestResult run=148 errors=0 failures=4> error: Test failed: <unittest.runner.TextTestResult run=148 errors=0 failures=4> error: Bad exit status from /var/tmp/rpm-tmp.F6kYFS (%check) Bad exit status from /var/tmp/rpm-tmp.F6kYFS (%check) I believe pip defaults to isolated builds now and will always attempt to install build dependencies (setuptools>=40.8.0 in this case because that I the default when no build dependencies are mentioned in pyproject.toml) from the internet to a temporary virtual environment. I think this can be fixed by adding --no-build-isolation to pip install in tests: $ pip install --help | grep isolation --no-build-isolation Disable isolation when building a modern source Reproducible: Always Steps to Reproduce: Build python-argcomplete e.g. in https://copr.fedorainfracloud.org/coprs/churchyard/pip-23.1.2 Actual Results: Build fails. Expected Results: Build succeeds. All logs available at https://copr.fedorainfracloud.org/coprs/churchyard/pip-23.1.2/package/python-argcomplete/
https://src.fedoraproject.org/rpms/python-argcomplete/pull-request/13
FEDORA-2023-a69809648f has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-a69809648f
FEDORA-2023-a69809648f has been pushed to the Fedora 39 stable repository. If problem still persists, please make note of it in this bug report.