about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/virtualenv/0001-Check-base_prefix-and-base_exec_prefix-for-Python-2.patch
blob: 2b34da289e2dbd4b0c1a8cec0cdffdda3099df13 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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