summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnderson Bravalheri <andersonbravalheri@gmail.com>2022-08-11 22:11:13 +0100
committerAnderson Bravalheri <andersonbravalheri@gmail.com>2022-08-11 22:11:13 +0100
commitc2397339d57db2e792cbc629d088f7ef091d271b (patch)
tree040fcbeef9ff0b5fe9b1b9aff18f6b2ea3042e3e
parentbc39d28bda2a1faee6680ae30e42526b9d775151 (diff)
parentc096222223207e0d74baf115f7dc30f50c0117fd (diff)
downloadpython-setuptools-git-c2397339d57db2e792cbc629d088f7ef091d271b.tar.gz
Fix ``editable_wheel`` for legacy namespaces (#3497)
-rw-r--r--changelog.d/3497.misc.rst1
-rw-r--r--setuptools/command/editable_wheel.py3
-rw-r--r--setuptools/tests/test_editable_install.py7
3 files changed, 10 insertions, 1 deletions
diff --git a/changelog.d/3497.misc.rst b/changelog.d/3497.misc.rst
new file mode 100644
index 00000000..09c8ecc1
--- /dev/null
+++ b/changelog.d/3497.misc.rst
@@ -0,0 +1 @@
+Fix ``editable_wheel`` for legacy namespaces.
diff --git a/setuptools/command/editable_wheel.py b/setuptools/command/editable_wheel.py
index a44d24be..eb79608b 100644
--- a/setuptools/command/editable_wheel.py
+++ b/setuptools/command/editable_wheel.py
@@ -168,7 +168,7 @@ class editable_wheel(Command):
if not dist.namespace_packages:
return
- src_root = Path(self.project_dir, self.pakcage_dir.get("", ".")).resolve()
+ src_root = Path(self.project_dir, self.package_dir.get("", ".")).resolve()
installer = _NamespaceInstaller(dist, installation_dir, pth_prefix, src_root)
installer.install_namespaces()
@@ -672,6 +672,7 @@ class _NamespaceInstaller(namespaces.Installer):
self.installation_dir = installation_dir
self.editable_name = editable_name
self.outputs = []
+ self.dry_run = False
def _get_target(self):
"""Installation target."""
diff --git a/setuptools/tests/test_editable_install.py b/setuptools/tests/test_editable_install.py
index 57e31eda..40a35f65 100644
--- a/setuptools/tests/test_editable_install.py
+++ b/setuptools/tests/test_editable_install.py
@@ -173,8 +173,15 @@ class TestLegacyNamespaces:
and the other installed in editable mode should leave the namespace
intact and both packages reachable by import.
"""
+ build_system = """\
+ [build-system]
+ requires = ["setuptools"]
+ build-backend = "setuptools.build_meta"
+ """
pkg_A = namespaces.build_namespace_package(tmp_path, 'myns.pkgA')
pkg_B = namespaces.build_namespace_package(tmp_path, 'myns.pkgB')
+ (pkg_A / "pyproject.toml").write_text(build_system, encoding="utf-8")
+ (pkg_B / "pyproject.toml").write_text(build_system, encoding="utf-8")
# use pip to install to the target directory
opts = editable_opts[:]
opts.append("--no-build-isolation") # force current version of setuptools