Fully integrate pythonfinder for system pythons

Signed-off-by: Dan Ryan <dan@danryan.co>
This commit is contained in:
Dan Ryan
2018-07-15 17:00:25 -04:00
parent d3d5d563e7
commit 33328c435a
+11 -4
View File
@@ -315,17 +315,24 @@ def ensure_pipfile(validate=True, skip_requirements=False, system=False):
def find_a_system_python(python):
from .vendor.pythonfinder import Finder
# system always refers to sys.executable, which could point at a virtualenv
# for global searches we most likely want to turn that off
finder = Finder(system=False, global_search=True)
if not python:
return None
# when using the python launcher on windows we can find the versions ourselves
if os.name == 'nt' and python.startswith("py -"):
python = python[len("py -"):]
if python.startswith("py"):
return system_which(python)
python_entry = finder.which(python)
if python_entry:
return python_entry.path.as_posix()
if os.path.isabs(python):
return python
from .vendor import pythonfinder
finder = pythonfinder.Finder()
python_entry = finder.find_python_version(python)
if python_entry:
return str(python_entry.path)
return python_entry.path.as_posix()
return None