summaryrefslogtreecommitdiff
path: root/src/virtualenv/discovery
diff options
context:
space:
mode:
authorBernát Gábor <bgabor8@bloomberg.net>2020-02-21 15:54:13 +0000
committerGitHub <noreply@github.com>2020-02-21 15:54:13 +0000
commitf9fbd94bec42b32688dcfc481353f4e407144e1e (patch)
tree3fc5b19763e71b6c1e2cb9fa96ed4162c5bb3859 /src/virtualenv/discovery
parent5b88149cf4ed72bed1cf9dc90d7f979669154a02 (diff)
downloadvirtualenv-f9fbd94bec42b32688dcfc481353f4e407144e1e.tar.gz
macOs Python 2 Framework support (#1641)
Diffstat (limited to 'src/virtualenv/discovery')
-rw-r--r--src/virtualenv/discovery/py_info.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/virtualenv/discovery/py_info.py b/src/virtualenv/discovery/py_info.py
index c897cf1..3ffe57e 100644
--- a/src/virtualenv/discovery/py_info.py
+++ b/src/virtualenv/discovery/py_info.py
@@ -79,8 +79,9 @@ class PythonInfo(object):
for element in self.sysconfig_paths.values():
for k in _CONF_VAR_RE.findall(element):
config_var_keys.add(u(k[1:-1]))
+ config_var_keys.add("PYTHONFRAMEWORK")
- self.sysconfig_vars = {u(i): u(sysconfig.get_config_var(i)) for i in config_var_keys}
+ self.sysconfig_vars = {u(i): u(sysconfig.get_config_var(i) or "") for i in config_var_keys}
if self.implementation == "PyPy" and sys.version_info.major == 2:
self.sysconfig_vars[u"implementation_lower"] = u"python"
@@ -89,6 +90,7 @@ class PythonInfo(object):
"stdlib",
{k: (self.system_prefix if v.startswith(self.prefix) else v) for k, v in self.sysconfig_vars.items()},
)
+ self.max_size = getattr(sys, "maxsize", getattr(sys, "maxint", None))
self._creators = None
def _fast_get_system_executable(self):
@@ -187,12 +189,7 @@ class PythonInfo(object):
", ".join(
"{}={}".format(k, v)
for k, v in (
- (
- "spec",
- "{}{}-{}".format(
- self.implementation, ".".join(str(i) for i in self.version_info), self.architecture
- ),
- ),
+ ("spec", self.spec,),
(
"system"
if self.system_executable is not None and self.system_executable != self.executable
@@ -218,6 +215,10 @@ class PythonInfo(object):
)
return content
+ @property
+ def spec(self):
+ return "{}{}-{}".format(self.implementation, ".".join(str(i) for i in self.version_info), self.architecture)
+
@classmethod
def clear_cache(cls):
# this method is not used by itself, so here and called functions can import stuff locally