VirtualEnvOnDemand.GlobalEnv
index

# Copyright (c) 2015 Timothy Savannah under terms of LGPLv3. You should have received a copy of this with this distribution as "LICENSE"

#  This file contains things related to the "global" env, used for auto-importing.

 
Modules
       
imp
sys

 
Classes
       
builtins.object
VirtualEnvOnDemandImporter

 
class VirtualEnvOnDemandImporter(builtins.object)
    VirtualEnvOnDemandImporter - The workhouse of auto-importing. Upon an import that wouldn't resolve, it will try to install the leading package name using pip.
    Failure will still cause a "cannot import" error, but otherwise things will be installed on-demand.
 
  Methods defined here:
find_module(self, fullname, path=None)

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
Functions
       
enableOnDemandImporter(tmpDir=None)
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 tempdir.gettmpdir()
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.

 
Data
        __all__ = ('globalOnDemandVirtualEnv', 'isOnDemandImporterEnabled', 'getGlobalVirtualEnvInfo', 'enableOnDemandImporter', 'ensureImportGlobal', 'VirtualEnvOnDemandImporter')
globalOnDemandVirtualEnv = None
isOnDemandImporterEnabled = False