From 562276098c5c42f364cdf836e1842d30265fd4ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Thu, 15 Aug 2019 18:54:08 +0300 Subject: [PATCH] Address more @asottile's review comments --- pre_commit/languages/python.py | 2 ++ tests/languages/python_test.py | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pre_commit/languages/python.py b/pre_commit/languages/python.py index 1585a7fc..6d125a43 100644 --- a/pre_commit/languages/python.py +++ b/pre_commit/languages/python.py @@ -68,6 +68,8 @@ def _find_by_sys_executable(): def _get_default_version(): # pragma: no cover (platform dependent) # First attempt from `sys.executable` (or the realpath) exe = _find_by_sys_executable() + if exe: + return exe # Next try the `pythonX.X` executable exe = 'python{}.{}'.format(*sys.version_info) diff --git a/tests/languages/python_test.py b/tests/languages/python_test.py index 3634fa4f..debf9753 100644 --- a/tests/languages/python_test.py +++ b/tests/languages/python_test.py @@ -7,7 +7,7 @@ import sys import mock import pytest -import pre_commit.parse_shebang +from pre_commit import parse_shebang from pre_commit.languages import python @@ -50,7 +50,7 @@ def test_find_by_sys_executable(exe, realpath, expected): with mock.patch.object(sys, 'executable', exe): with mock.patch.object(os.path, 'realpath', return_value=realpath): with mock.patch.object( - pre_commit.parse_shebang, 'find_executable', + parse_shebang, 'find_executable', side_effect=mocked_find_executable, ): assert python._find_by_sys_executable() == expected