diff options
Diffstat (limited to 'letsencrypt-auto-source/pieces/create_venv.py')
-rwxr-xr-x | letsencrypt-auto-source/pieces/create_venv.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/letsencrypt-auto-source/pieces/create_venv.py b/letsencrypt-auto-source/pieces/create_venv.py new file mode 100755 index 000000000..a618e228a --- /dev/null +++ b/letsencrypt-auto-source/pieces/create_venv.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python +import os +import shutil +import subprocess +import sys + + +def create_venv(venv_path, pyver, verbose): + if os.path.exists(venv_path): + shutil.rmtree(venv_path) + + stdout = sys.stdout if verbose == '1' else open(os.devnull, 'w') + + if int(pyver) <= 27: + # Use virtualenv binary + environ = os.environ.copy() + environ['VIRTUALENV_NO_DOWNLOAD'] = '1' + command = ['virtualenv', '--no-site-packages', '--python', sys.executable, venv_path] + subprocess.check_call(command, stdout=stdout, env=environ) + else: + # Use embedded venv module in Python 3 + command = [sys.executable, '-m', 'venv', venv_path] + subprocess.check_call(command, stdout=stdout) + + +if __name__ == '__main__': + create_venv(*sys.argv[1:]) |