3 Provides exceptions used by setuptools modules.
6 from distutils
import errors
as _distutils_errors
9 # Re-export errors from distutils to facilitate the migration to PEP632
11 ByteCompileError
= _distutils_errors
.DistutilsByteCompileError
12 CCompilerError
= _distutils_errors
.CCompilerError
13 ClassError
= _distutils_errors
.DistutilsClassError
14 CompileError
= _distutils_errors
.CompileError
15 ExecError
= _distutils_errors
.DistutilsExecError
16 FileError
= _distutils_errors
.DistutilsFileError
17 InternalError
= _distutils_errors
.DistutilsInternalError
18 LibError
= _distutils_errors
.LibError
19 LinkError
= _distutils_errors
.LinkError
20 ModuleError
= _distutils_errors
.DistutilsModuleError
21 OptionError
= _distutils_errors
.DistutilsOptionError
22 PlatformError
= _distutils_errors
.DistutilsPlatformError
23 PreprocessError
= _distutils_errors
.PreprocessError
24 SetupError
= _distutils_errors
.DistutilsSetupError
25 TemplateError
= _distutils_errors
.DistutilsTemplateError
26 UnknownFileError
= _distutils_errors
.UnknownFileError
28 # The root error class in the hierarchy
29 BaseError
= _distutils_errors
.DistutilsError
32 class RemovedCommandError(BaseError
, RuntimeError):
33 """Error used for commands that have been removed in setuptools.
35 Since ``setuptools`` is built on ``distutils``, simply removing a command
36 from ``setuptools`` will make the behavior fall back to ``distutils``; this
37 error is raised if a command exists in ``distutils`` but has been actively
38 removed in ``setuptools``.
42 class PackageDiscoveryError(BaseError
, RuntimeError):
43 """Impossible to perform automatic discovery of packages and/or modules.
45 The current project layout or given discovery options can lead to problems when
46 scanning the project directory.
48 Setuptools might also refuse to complete auto-discovery if an error prone condition
49 is detected (e.g. when a project is organised as a flat-layout but contains
50 multiple directories that can be taken as top-level packages inside a single
51 distribution [*]_). In these situations the users are encouraged to be explicit
52 about which packages to include or to make the discovery parameters more specific.
54 .. [*] Since multi-package distributions are uncommon it is very likely that the
55 developers did not intend for all the directories to be packaged, and are just
56 leaving auxiliary code in the repository top-level, such as maintenance-related