diff options
| author | Anderson Bravalheri <andersonbravalheri@gmail.com> | 2022-08-11 22:11:13 +0100 |
|---|---|---|
| committer | Anderson Bravalheri <andersonbravalheri@gmail.com> | 2022-08-11 22:11:13 +0100 |
| commit | c2397339d57db2e792cbc629d088f7ef091d271b (patch) | |
| tree | 040fcbeef9ff0b5fe9b1b9aff18f6b2ea3042e3e | |
| parent | bc39d28bda2a1faee6680ae30e42526b9d775151 (diff) | |
| parent | c096222223207e0d74baf115f7dc30f50c0117fd (diff) | |
| download | python-setuptools-git-c2397339d57db2e792cbc629d088f7ef091d271b.tar.gz | |
Fix ``editable_wheel`` for legacy namespaces (#3497)
| -rw-r--r-- | changelog.d/3497.misc.rst | 1 | ||||
| -rw-r--r-- | setuptools/command/editable_wheel.py | 3 | ||||
| -rw-r--r-- | setuptools/tests/test_editable_install.py | 7 |
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 |
