| Server IP : 62.60.133.156 / Your IP : 216.73.217.51 Web Server : LiteSpeed System : Linux linux24.centraldnserver.com 4.18.0-553.141.2.lve.el8.x86_64 #1 SMP Wed Jul 8 16:10:02 UTC 2026 x86_64 User : mimradmin ( 1166) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, exec, popen, proc_open MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /opt/cloudlinux/venv/lib64/python3.11/site-packages/virtualenv/discovery/ |
Upload File : |
from abc import ABCMeta, abstractmethod
class Discover(metaclass=ABCMeta):
"""Discover and provide the requested Python interpreter"""
@classmethod
def add_parser_arguments(cls, parser): # noqa: U100
"""Add CLI arguments for this discovery mechanisms.
:param parser: the CLI parser
"""
raise NotImplementedError
def __init__(self, options):
"""Create a new discovery mechanism.
:param options: the parsed options as defined within :meth:`add_parser_arguments`
"""
self._has_run = False
self._interpreter = None
self._env = options.env
@abstractmethod
def run(self):
"""Discovers an interpreter.
:return: the interpreter ready to use for virtual environment creation
"""
raise NotImplementedError
@property
def interpreter(self):
"""
:return: the interpreter as returned by :meth:`run`, cached
"""
if self._has_run is False:
self._interpreter = self.run()
self._has_run = True
return self._interpreter
__all__ = [
"Discover",
]