Mercurial > repos > shellac > guppy_basecaller
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)