diff options
-rw-r--r-- | pkgs/development/interpreters/python/mk-python-derivation.nix | 4 | ||||
-rw-r--r-- | pkgs/development/interpreters/python/wrap.sh | 5 |
2 files changed, 8 insertions, 1 deletions
diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix index 4951ae4499f..46ba7765cdc 100644 --- a/pkgs/development/interpreters/python/mk-python-derivation.nix +++ b/pkgs/development/interpreters/python/mk-python-derivation.nix @@ -46,6 +46,9 @@ # Skip wrapping of python programs altogether , dontWrapPythonPrograms ? false +# Skip setting the PYTHONNOUSERSITE environment variable in wrapped programs +, skipNoUserSite ? false + # Remove bytecode from bin folder. # When a Python script has the extension `.py`, bytecode is generated # Typically, executables in bin have no extension, so no bytecode is generated. @@ -93,6 +96,7 @@ let self = toPythonModule (python.stdenv.mkDerivation (builtins.removeAttrs attr installCheckInputs = checkInputs; postFixup = lib.optionalString (!dontWrapPythonPrograms) '' + ${if skipNoUserSite then "export SKIPNOUSERSITE=1" else ""} wrapPythonPrograms '' + lib.optionalString removeBinBytecode '' if [ -d "$out/bin" ]; then diff --git a/pkgs/development/interpreters/python/wrap.sh b/pkgs/development/interpreters/python/wrap.sh index b2d65422db4..d779826cf81 100644 --- a/pkgs/development/interpreters/python/wrap.sh +++ b/pkgs/development/interpreters/python/wrap.sh @@ -73,9 +73,12 @@ wrapPythonProgramsIn() { # (see pkgs/build-support/setup-hooks/make-wrapper.sh) local -a wrap_args=("$f" --prefix PATH ':' "$program_PATH" - --set PYTHONNOUSERSITE "true" ) + if [ -z "$SKIPNOUSERSITE" ]; then + wrap_args+=(--set PYTHONNOUSERSITE "true") + fi + # Add any additional arguments provided by makeWrapperArgs # argument to buildPythonPackage. local -a user_args="($makeWrapperArgs)" |