diff env/lib/python3.7/site-packages/planemo/virtualenv.py @ 0:26e78fe6e8c4 draft

"planemo upload commit c699937486c35866861690329de38ec1a5d9f783"
author shellac
date Sat, 02 May 2020 07:14:21 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/env/lib/python3.7/site-packages/planemo/virtualenv.py	Sat May 02 07:14:21 2020 -0400
@@ -0,0 +1,49 @@
+""" Utilities for using virtualenv as library and planemo command.
+"""
+from __future__ import absolute_import
+
+import os
+import sys
+
+import virtualenv
+from galaxy.tool_util.deps.commands import which
+
+
+DEFAULT_PYTHON_VERSION = os.environ.get("PLANEMO_DEFAULT_PYTHON_VERSION", "2.7")
+
+
+def create_and_exit(virtualenv_path, **kwds):
+    sys.argv = ["virtualenv", virtualenv_path]
+    python = kwds.get("python", None)
+    if python:
+        sys.argv.extend(["--python", python])
+    return virtualenv.main()
+
+
+def create_command(virtualenv_path, galaxy_python_version=None):
+    """ If virtualenv is on Planemo's path use it, otherwise use the planemo
+    subcommand virtualenv to create the virtualenv.
+    """
+    planemo_path = os.path.abspath(sys.argv[0])
+    virtualenv_on_path = which("virtualenv")
+    if virtualenv_on_path:
+        base_command = [
+            os.path.abspath(virtualenv_on_path),
+        ]
+    else:
+        base_command = [
+            planemo_path, "virtualenv",
+        ]
+
+    command = base_command
+
+    # Create a virtualenv with the selected python version.
+    # default to 2.7
+    if galaxy_python_version is None:
+        galaxy_python_version = DEFAULT_PYTHON_VERSION
+    python = which("python%s" % galaxy_python_version)
+    if python:
+        python = os.path.abspath(python)
+        command.extend(["-p", python])
+    command.append(virtualenv_path)
+    return " ".join(command)