gh-149567: Remove deprecated shutil.ExecError (#149568)

This commit is contained in:
Stan Ulbrych 2026-05-15 18:54:05 +01:00 committed by GitHub
parent 9778db13f7
commit 9ee9f58747
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 12 additions and 16 deletions

View file

@ -141,6 +141,13 @@ mimetypes
:meth:`mimetypes.MimeTypes.add_type`.
Undotted extensions now raise a :exc:`ValueError`.
shutil
------
* The :exc:`!ExecError` exception which has been deprecated since Python 3.14.
It has not been used by any function in :mod:`!shutil` since Python 3.4.
(Contributed by Stan Ulbrych in :gh:`149567`.)
symtable
--------
@ -161,6 +168,7 @@ sysconfig
* The :func:`!sysconfig.expand_makefile_vars` function
which has been deprecated since Python 3.14.
Use the ``vars`` argument of :func:`sysconfig.get_paths` instead.
(Contributed by Stan Ulbrych in :gh:`149499`.)
tarfile
-------

View file

@ -1638,15 +1638,3 @@ def which(cmd, mode=os.F_OK | os.X_OK, path=None):
if _access_check(name, mode):
return name
return None
def __getattr__(name):
if name == "ExecError":
import warnings
warnings._deprecated(
"shutil.ExecError",
f"{warnings._DEPRECATED_MSG}; it "
"isn't raised by any shutil function.",
remove=(3, 16)
)
return RuntimeError
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")

View file

@ -1127,8 +1127,8 @@ def test_import_from_doesnt_clobber_load_fast_borrow(self):
def f(self):
if x: pass
self.x
from shutil import ExecError
print(ExecError)
from heapq import heapify_max
print(heapify_max)
self.assertInBytecode(f, "LOAD_FAST_BORROW", "self")
class DirectCfgOptimizerTests(CfgOptimizationTestCase):

View file

@ -3580,8 +3580,6 @@ def test_module_all_attribute(self):
if hasattr(os, 'statvfs') or os.name == 'nt':
target_api.append('disk_usage')
self.assertEqual(set(shutil.__all__), set(target_api))
with self.assertWarns(DeprecationWarning):
from shutil import ExecError # noqa: F401
if __name__ == '__main__':

View file

@ -0,0 +1,2 @@
Remove the :exc:`!shutil.ExecError` exception which has been deprecated
since Python 3.14.