2020-01-10 10:04:54 +08:00

40 lines
1.7 KiB
Diff

From 6bfb0f17a033c485948e09e6c18bc08f5948830c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Thu, 23 Aug 2018 21:19:50 +0200
Subject: [PATCH] Instead of using the virtualenv command, use -m virtualenv
Fixes https://github.com/manahl/pytest-plugins/issues/79
---
pytest-virtualenv/pytest_virtualenv.py | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/pytest-virtualenv/pytest_virtualenv.py b/pytest-virtualenv/pytest_virtualenv.py
index a7981b3..e54039c 100644
--- a/pytest-virtualenv/pytest_virtualenv.py
+++ b/pytest-virtualenv/pytest_virtualenv.py
@@ -20,7 +20,8 @@ class FixtureConfig(Config):
__slots__ = ('virtualenv_executable')
# Default values for system resource locations - patch this to change defaults
-DEFAULT_VIRTUALENV_FIXTURE_EXECUTABLE = (cmdline.which('virtualenv') + ['virtualenv'])[0]
+# Can be a string or list of them
+DEFAULT_VIRTUALENV_FIXTURE_EXECUTABLE = [sys.executable, '-m', 'virtualenv']
CONFIG = FixtureConfig(
virtualenv_executable=os.getenv('VIRTUALENV_FIXTURE_EXECUTABLE', DEFAULT_VIRTUALENV_FIXTURE_EXECUTABLE),
@@ -132,9 +133,11 @@ def __init__(self, env=None, workspace=None, name='.env', python=None, args=None
del(self.env['PYTHONPATH'])
self.virtualenv_cmd = CONFIG.virtualenv_executable
- cmd = [self.virtualenv_cmd,
- '-p', python or cmdline.get_real_python_executable()
- ]
+ if isinstance(self.virtualenv_cmd, str):
+ cmd = [self.virtualenv_cmd]
+ else:
+ cmd = list(self.virtualenv_cmd)
+ cmd.extend(['-p', python or cmdline.get_real_python_executable()])
cmd.extend(self.args)
cmd.append(str(self.virtualenv))
self.run(cmd)