| |
- enableOnDemandImporter(tmpDir=None, deferSetup=True, noRetryFailedPackages=True)
- enableOnDemandImporter - Calling this method turns on the "on demand" importer. A temporary global env is created, and all failed imports will attempt an installation.
@param tmpDir <str/None> - Temporary directory to use. A subdirectory will be created within this. Defaults to tempfile.gettempdir()
@param deferSetup <bool> - If True (default), defers setup (which can take a couple seconds) until the first failed import or attempted install.
Setup takes a couple seconds. Use this to always enable on-demand importer, but give advantage if all modules are present.
If False, the ondemand virtualenv will be setup right-away.
@param noRetryFailedPackages <bool> - If True (default), a package which fails to download will not be retried. This is a performance savings. This should generally always be True,
unless you are using VirtualEnvOnDemand to have a running process written to work with an unreleased module to prevent a restart or something similar.
- ensureImportGlobal(importName, packageName=None, stdout=None, stderr=None)
- ensureImportGlobal - Try to import a module, and upon failure to import try to install package into global virtualenv. This assumes that enableOnDemandImporter has already been called.
@param importName <str> - The name of the module to import
@param packageName <str/None> - If the package name differs from the import name (like biopython package provides "Bio" module), install this package if import fails. This may contain version info (like AdvancedHTMLParser>6.0)
@param stdout <stream/None> - Stream to use for stdout as package info, or None to silence. Default None. NOTE: This differs from elsewhere where sys.stdout is default.
@param stderr <stream/None> - Stream to use for stderr as package info, or None to silence. Default None. NOTE: This differs from elsewhere where sys.stderr is default.
@return - The imported module
@raises - ImportError if cannot import.
NOTE: With this method, PipInstallFailed will be intercepted and ImportError thrown instead, as this is intended to be a drop-in replacement for "import" when the package name differs.
- getGlobalVirtualEnvInfo()
- getGlobalVirtualEnvInfo - Returns the VirtualEnvInfo object representing the global environment, or None if not setup.
If not setup, call enableOnDemandImporter() to add the hook and create the "global" env.
@return VirtualEnvInfo representing global env, or None if enableOnDemandImporter has not been called.
|