Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/certbot/certbot.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'letsencrypt-auto-source/pieces/create_venv.py')
-rwxr-xr-xletsencrypt-auto-source/pieces/create_venv.py27
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:])