mirror of
https://github.com/kennethreitz/pipenv.git
synced 2026-06-05 22:50:18 +00:00
Fully integrate pythonfinder for system pythons
Signed-off-by: Dan Ryan <dan@danryan.co>
This commit is contained in:
+11
-4
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user