From d58b9451077ed893d6a8b596db99bbc91a2c6b49 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Tue, 19 Jan 2016 18:08:20 -0800 Subject: [PATCH 1/2] Fix pre-commit for latest virtualenv. Resolves #299. Resolves #334 --- pre_commit/languages/python.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pre_commit/languages/python.py b/pre_commit/languages/python.py index 8e81f7b9..4c463874 100644 --- a/pre_commit/languages/python.py +++ b/pre_commit/languages/python.py @@ -5,8 +5,6 @@ import distutils.spawn import os import sys -import virtualenv - from pre_commit.languages import helpers from pre_commit.util import clean_path_on_failure from pre_commit.util import shell_escape @@ -15,13 +13,22 @@ from pre_commit.util import shell_escape ENVIRONMENT_DIR = 'py_env' +def bin_dir(venv): + """On windows there's a different directory for the virtualenv""" + if os.name == 'nt': # pragma: no cover (windows) + return os.path.join(venv, 'Scripts') + else: + return os.path.join(venv, 'bin') + + class PythonEnv(helpers.Environment): @property def env_prefix(self): - return ". '{{prefix}}{0}activate' &&".format( - virtualenv.path_locations( + return ". '{{prefix}}{0}{1}activate' &&".format( + bin_dir( helpers.environment_dir(ENVIRONMENT_DIR, self.language_version) - )[-1].rstrip(os.sep) + os.sep, + ), + os.sep, ) From 706f5fbcb592a816ba0c150ae86fdc7d25cf4bc7 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Tue, 19 Jan 2016 18:34:03 -0800 Subject: [PATCH 2/2] Add pin for setuptools under test since it breaks pypy3 --- requirements-dev.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/requirements-dev.txt b/requirements-dev.txt index 17613a38..c44b676a 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -6,3 +6,6 @@ flake8 mock pylint<1.4 pytest + +# setuptools breaks pypy3 with extraneous output +setuptools<18.5