38 lines
1.7 KiB
Diff
38 lines
1.7 KiB
Diff
|
From 21563405d6e2348ee457187f7fb61beb102bb367 Mon Sep 17 00:00:00 2001
|
||
|
From: Frederik Rietdijk <fridh@fridh.nl>
|
||
|
Date: Sun, 24 May 2020 09:33:13 +0200
|
||
|
Subject: [PATCH] Check base_prefix and base_exec_prefix for Python 2
|
||
|
|
||
|
This is a Nixpkgs-specific change so it can support virtualenvs from Nix envs.
|
||
|
---
|
||
|
src/virtualenv/discovery/py_info.py | 8 ++++++--
|
||
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/src/virtualenv/discovery/py_info.py b/src/virtualenv/discovery/py_info.py
|
||
|
index 6f12128..74e9218 100644
|
||
|
--- a/src/virtualenv/discovery/py_info.py
|
||
|
+++ b/src/virtualenv/discovery/py_info.py
|
||
|
@@ -51,13 +51,17 @@ class PythonInfo(object):
|
||
|
self.version = u(sys.version)
|
||
|
self.os = u(os.name)
|
||
|
|
||
|
+ config_vars = {} if sys.version_info.major is not 2 else sysconfig._CONFIG_VARS
|
||
|
+ base_prefix = config_vars.get("prefix")
|
||
|
+ base_exec_prefix = config_vars.get("exec_prefix")
|
||
|
+
|
||
|
# information about the prefix - determines python home
|
||
|
self.prefix = u(abs_path(getattr(sys, "prefix", None))) # prefix we think
|
||
|
- self.base_prefix = u(abs_path(getattr(sys, "base_prefix", None))) # venv
|
||
|
+ self.base_prefix = u(abs_path(getattr(sys, "base_prefix", base_prefix))) # venv
|
||
|
self.real_prefix = u(abs_path(getattr(sys, "real_prefix", None))) # old virtualenv
|
||
|
|
||
|
# information about the exec prefix - dynamic stdlib modules
|
||
|
- self.base_exec_prefix = u(abs_path(getattr(sys, "base_exec_prefix", None)))
|
||
|
+ self.base_exec_prefix = u(abs_path(getattr(sys, "base_exec_prefix", base_exec_prefix)))
|
||
|
self.exec_prefix = u(abs_path(getattr(sys, "exec_prefix", None)))
|
||
|
|
||
|
self.executable = u(abs_path(sys.executable)) # the executable we were invoked via
|
||
|
--
|
||
|
2.25.1
|
||
|
|