diff --git i/src/pdm/backend/base.py w/src/pdm/backend/base.py
index e4a75b8..c14417b 100644
--- i/src/pdm/backend/base.py
+++ w/src/pdm/backend/base.py
@@ -16,7 +16,7 @@ from typing import (
     cast,
 )
 
-from pdm.backend._vendor.pyproject_metadata import StandardMetadata
+from pyproject_metadata import StandardMetadata
 from pdm.backend.config import Config
 from pdm.backend.hooks import BuildHookInterface, Context
 from pdm.backend.hooks.version import DynamicVersionBuildHook
diff --git i/src/pdm/backend/config.py w/src/pdm/backend/config.py
index 382e5f4..e8efdbf 100644
--- i/src/pdm/backend/config.py
+++ w/src/pdm/backend/config.py
@@ -7,8 +7,8 @@ from functools import cached_property
 from pathlib import Path
 from typing import TYPE_CHECKING, Any, TypeVar
 
-from pdm.backend._vendor import tomli_w
-from pdm.backend._vendor.pyproject_metadata import ConfigurationError, StandardMetadata
+import tomli_w
+from pyproject_metadata import ConfigurationError, StandardMetadata
 from pdm.backend.exceptions import ConfigError, ValidationError
 from pdm.backend.structures import Table
 from pdm.backend.utils import find_packages_iter, is_relative_path
@@ -16,7 +16,7 @@ from pdm.backend.utils import find_packages_iter, is_relative_path
 if sys.version_info >= (3, 11):
     import tomllib
 else:
-    import pdm.backend._vendor.tomli as tomllib
+    import tomli as tomllib
 
 T = TypeVar("T")
 
diff --git i/src/pdm/backend/editable.py w/src/pdm/backend/editable.py
index 379699d..10a316d 100644
--- i/src/pdm/backend/editable.py
+++ w/src/pdm/backend/editable.py
@@ -4,8 +4,8 @@ import os
 import warnings
 from pathlib import Path
 
-from pdm.backend._vendor.editables import EditableProject
-from pdm.backend._vendor.packaging.utils import canonicalize_name
+from editables import EditableProject
+from packaging.utils import canonicalize_name
 from pdm.backend.exceptions import ConfigError, PDMWarning
 from pdm.backend.hooks.base import Context
 from pdm.backend.utils import to_filename
diff --git i/src/pdm/backend/hooks/version/__init__.py w/src/pdm/backend/hooks/version/__init__.py
index d3b7856..d26e1f6 100644
--- i/src/pdm/backend/hooks/version/__init__.py
+++ w/src/pdm/backend/hooks/version/__init__.py
@@ -7,7 +7,7 @@ import warnings
 from pathlib import Path
 from typing import Callable
 
-from pdm.backend._vendor.packaging.version import Version
+from packaging.version import Version
 from pdm.backend.exceptions import ConfigError, PDMWarning, ValidationError
 from pdm.backend.hooks.base import Context
 from pdm.backend.hooks.version.scm import SCMVersion as SCMVersion
diff --git i/src/pdm/backend/hooks/version/scm.py w/src/pdm/backend/hooks/version/scm.py
index f6da7a7..d5fc2d4 100644
--- i/src/pdm/backend/hooks/version/scm.py
+++ w/src/pdm/backend/hooks/version/scm.py
@@ -16,7 +16,7 @@ from datetime import datetime, timezone
 from pathlib import Path
 from typing import TYPE_CHECKING, NamedTuple
 
-from pdm.backend._vendor.packaging.version import Version
+from packaging.version import Version
 
 if TYPE_CHECKING:
     from _typeshed import StrPath
diff --git i/src/pdm/backend/intree.py w/src/pdm/backend/intree.py
index c730c17..26a1e78 100644
--- i/src/pdm/backend/intree.py
+++ w/src/pdm/backend/intree.py
@@ -16,7 +16,7 @@ from pdm.backend import (
 if sys.version_info >= (3, 11):
     import tomllib
 else:
-    import pdm.backend._vendor.tomli as tomllib
+    import tomli as tomllib
 
 
 def get_requires_for_build_wheel(
diff --git i/src/pdm/backend/sdist.py w/src/pdm/backend/sdist.py
index b86be89..7c936b1 100644
--- i/src/pdm/backend/sdist.py
+++ w/src/pdm/backend/sdist.py
@@ -8,7 +8,7 @@ from pathlib import Path
 from posixpath import join as pjoin
 from typing import Iterable
 
-from pdm.backend._vendor.packaging.utils import canonicalize_name
+from packaging.utils import canonicalize_name
 from pdm.backend.base import Builder
 from pdm.backend.hooks import Context
 from pdm.backend.utils import normalize_file_permissions, safe_version, to_filename
diff --git i/src/pdm/backend/utils.py w/src/pdm/backend/utils.py
index 3893011..9b76182 100644
--- i/src/pdm/backend/utils.py
+++ w/src/pdm/backend/utils.py
@@ -13,9 +13,9 @@ from fnmatch import fnmatchcase
 from pathlib import Path
 from typing import Any, Callable, Generator, Iterable, Match
 
-from pdm.backend._vendor.packaging.markers import Marker
-from pdm.backend._vendor.packaging.requirements import Requirement
-from pdm.backend._vendor.packaging.version import InvalidVersion, Version
+from packaging.markers import Marker
+from packaging.requirements import Requirement
+from packaging.version import InvalidVersion, Version
 from pdm.backend.exceptions import ConfigError
 
 
diff --git i/src/pdm/backend/wheel.py w/src/pdm/backend/wheel.py
index 6cd743c..6837afd 100644
--- i/src/pdm/backend/wheel.py
+++ w/src/pdm/backend/wheel.py
@@ -15,9 +15,9 @@ from importlib.metadata import version as get_version
 from pathlib import Path
 from typing import IO, Any, Iterable, Mapping, NamedTuple, cast
 
-from pdm.backend._vendor.packaging import tags
-from pdm.backend._vendor.packaging.specifiers import SpecifierSet
-from pdm.backend._vendor.packaging.utils import _build_tag_regex, canonicalize_name
+from packaging import tags
+from packaging.specifiers import SpecifierSet
+from packaging.utils import _build_tag_regex, canonicalize_name
 from pdm.backend.base import Builder
 from pdm.backend.hooks import Context
 from pdm.backend.hooks.setuptools import SetuptoolsBuildHook
diff --git i/tests/pdm/backend/hooks/version/test_scm.py w/tests/pdm/backend/hooks/version/test_scm.py
index a3c995b..366d9ac 100644
--- i/tests/pdm/backend/hooks/version/test_scm.py
+++ w/tests/pdm/backend/hooks/version/test_scm.py
@@ -12,7 +12,7 @@ from typing import cast
 
 import pytest
 
-from pdm.backend._vendor.packaging.version import Version
+from packaging.version import Version
 from pdm.backend.hooks.version.scm import (
     SCMVersion,
     default_version_formatter,