about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFrederik Rietdijk <fridh@fridh.nl>2021-03-23 11:27:27 +0100
committerFrederik Rietdijk <fridh@fridh.nl>2021-03-23 11:27:27 +0100
commit7a65bb76f1db44f8af6e13d81d13f41d69fb1948 (patch)
tree0cffcfeef848446a355c4e4323a479f5791dd1ac
parent13465b16c8fc083c8d211a8e5505514f1f44873c (diff)
pythonPackages: fix editable setuptools installations
-rw-r--r--pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh7
1 files changed, 7 insertions, 0 deletions
diff --git a/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh b/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
index 311590425e683..cc03774492516 100644
--- a/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
+++ b/pkgs/development/interpreters/python/hooks/setuptools-build-hook.sh
@@ -31,6 +31,13 @@ setuptoolsShellHook() {
         mkdir -p "$tmp_path/@pythonSitePackages@"
         eval "@pythonInterpreter@ -m pip install -e . --prefix $tmp_path \
           --no-build-isolation >&2"
+
+        # Process pth file installed in tmp path. This allows one to
+        # actually import the editable installation. Note site.addsitedir
+        # appends, not prepends, new paths. Hence, it is not possible to override
+        # an existing installation of the package.
+        # https://github.com/pypa/setuptools/issues/2612
+        export NIX_PYTHONPATH="$tmp_path/@pythonSitePackages@:${NIX_PYTHONPATH-}"
     fi
 
     runHook postShellHook