summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2021-12-03 22:17:12 -0500
committerJason R. Coombs <jaraco@jaraco.com>2022-02-05 09:23:01 -0500
commit4cbbb99a953ac5b1fec3b1dfdd106a7781f4293d (patch)
tree12ec09db8d0a3f6f7e58cbca59277200e6a53ed2
parente9cde4e51a38ae232897aa73b8be5af1a18d46fe (diff)
downloadpython-setuptools-git-4cbbb99a953ac5b1fec3b1dfdd106a7781f4293d.tar.gz
Move ensure_directory into setuptools.
-rw-r--r--setuptools/_path.py7
-rw-r--r--setuptools/archive_util.py2
-rw-r--r--setuptools/command/bdist_egg.py3
-rw-r--r--setuptools/command/easy_install.py3
-rw-r--r--setuptools/command/install_egg_info.py3
-rw-r--r--setuptools/command/install_scripts.py3
6 files changed, 16 insertions, 5 deletions
diff --git a/setuptools/_path.py b/setuptools/_path.py
new file mode 100644
index 00000000..ede9cb00
--- /dev/null
+++ b/setuptools/_path.py
@@ -0,0 +1,7 @@
+import os
+
+
+def ensure_directory(path):
+ """Ensure that the parent directory of `path` exists"""
+ dirname = os.path.dirname(path)
+ os.makedirs(dirname, exist_ok=True)
diff --git a/setuptools/archive_util.py b/setuptools/archive_util.py
index 0f702848..73b2db75 100644
--- a/setuptools/archive_util.py
+++ b/setuptools/archive_util.py
@@ -8,7 +8,7 @@ import posixpath
import contextlib
from distutils.errors import DistutilsError
-from pkg_resources import ensure_directory
+from ._path import ensure_directory
__all__ = [
"unpack_archive", "unpack_zipfile", "unpack_tarfile", "default_filter",
diff --git a/setuptools/command/bdist_egg.py b/setuptools/command/bdist_egg.py
index e6b1609f..11a1c6be 100644
--- a/setuptools/command/bdist_egg.py
+++ b/setuptools/command/bdist_egg.py
@@ -11,9 +11,10 @@ import re
import textwrap
import marshal
-from pkg_resources import get_build_platform, Distribution, ensure_directory
+from pkg_resources import get_build_platform, Distribution
from setuptools.extension import Library
from setuptools import Command
+from .._path import ensure_directory
from sysconfig import get_path, get_python_version
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
index ef1a9b23..b1260dcd 100644
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
@@ -56,12 +56,13 @@ from setuptools.package_index import (
from setuptools.command import bdist_egg, egg_info
from setuptools.wheel import Wheel
from pkg_resources import (
- yield_lines, normalize_path, resource_string, ensure_directory,
+ yield_lines, normalize_path, resource_string,
get_distribution, find_distributions, Environment, Requirement,
Distribution, PathMetadata, EggMetadata, WorkingSet, DistributionNotFound,
VersionConflict, DEVELOP_DIST,
)
import pkg_resources
+from .._path import ensure_directory
# Turn on PEP440Warnings
warnings.filterwarnings("default", category=pkg_resources.PEP440Warning)
diff --git a/setuptools/command/install_egg_info.py b/setuptools/command/install_egg_info.py
index edc4718b..65ede406 100644
--- a/setuptools/command/install_egg_info.py
+++ b/setuptools/command/install_egg_info.py
@@ -4,6 +4,7 @@ import os
from setuptools import Command
from setuptools import namespaces
from setuptools.archive_util import unpack_archive
+from .._path import ensure_directory
import pkg_resources
@@ -37,7 +38,7 @@ class install_egg_info(namespaces.Installer, Command):
elif os.path.exists(self.target):
self.execute(os.unlink, (self.target,), "Removing " + self.target)
if not self.dry_run:
- pkg_resources.ensure_directory(self.target)
+ ensure_directory(self.target)
self.execute(
self.copytree, (), "Copying %s to %s" % (self.source, self.target)
)
diff --git a/setuptools/command/install_scripts.py b/setuptools/command/install_scripts.py
index 9cd8eb06..aeb0e424 100644
--- a/setuptools/command/install_scripts.py
+++ b/setuptools/command/install_scripts.py
@@ -4,7 +4,8 @@ from distutils.errors import DistutilsModuleError
import os
import sys
-from pkg_resources import Distribution, PathMetadata, ensure_directory
+from pkg_resources import Distribution, PathMetadata
+from .._path import ensure_directory
class install_scripts(orig.install_scripts):