pythonPackages.setuptoolsBuildHook: do not build in an isolated environment
When a PEP 517 project file is present, pip will not install prerequisites in `site-packages`: https://pip.pypa.io/en/stable/reference/pip/#pep-517-and-518-support For the shell hook, this has the consequence that the generated temporary directory that is added to PYTHONPATH does not contain `site.py`. As a result, Python does not discover the Python module. Thus when a user executes nix-shell in a project, they cannot import the project's Python module. This change adds the `--no-build-isolation` option to pip when creating the editable environment, to correctly generate `site.py`, even when a `pyproject.toml` is present.
This commit is contained in:
parent
e2309df85e
commit
1e2b6695cf
@ -29,7 +29,8 @@ setuptoolsShellHook() {
|
||||
export PATH="$tmp_path/bin:$PATH"
|
||||
export PYTHONPATH="$tmp_path/@pythonSitePackages@:$PYTHONPATH"
|
||||
mkdir -p "$tmp_path/@pythonSitePackages@"
|
||||
eval "@pythonInterpreter@ -m pip install -e . --prefix $tmp_path >&2"
|
||||
eval "@pythonInterpreter@ -m pip install -e . --prefix $tmp_path \
|
||||
--no-build-isolation >&2"
|
||||
fi
|
||||
|
||||
runHook postShellHook
|
||||
|
Loading…
Reference in New Issue
Block a user