celery.utils.imports

celery.utils.import

Utilities related to importing modules and symbols by name.

exception celery.utils.imports.NotAPackage[源代码]

celery.utils.imports.qualname(obj)[源代码]

celery.utils.imports.instantiate(name, \args, **kwargs*)[源代码]

Instantiate class by name.

See symbol_by_name().

celery.utils.imports.symbol_by_name(name, aliases={}, imp=None, package=None, sep=’.’, default=None, \*kwargs*)

Get symbol by qualified name.

The name should be the full dot-separated path to the class:

  1. modulename.ClassName

Example:

  1. celery.concurrency.processes.TaskPool
  2. ^- class name

or using ‘:’ to separate module and symbol:

  1. celery.concurrency.processes:TaskPool

If aliases is provided, a dict containing short name/long name mappings, the name is looked up in the aliases first.

Examples:

  1. >>> symbol_by_name('celery.concurrency.processes.TaskPool')
  2. <class 'celery.concurrency.processes.TaskPool'>
  1. >>> symbol_by_name('default', {
  2. ... 'default': 'celery.concurrency.processes.TaskPool'})
  3. <class 'celery.concurrency.processes.TaskPool'>

# Does not try to look up non-string names. >>> from celery.concurrency.processes import TaskPool >>> symbol_by_name(TaskPool) is TaskPool True

celery.utils.imports.cwd_in_path(\args, **kwds*)[源代码]

celery.utils.imports.find_module(module, path=None, imp=None)[源代码]

Version of imp.find_module() supporting dots.

celery.utils.imports.import_from_cwd(module, imp=None, package=None)[源代码]

Import module, but make sure it finds modules located in the current directory.

Modules located in the current directory has precedence over modules located in sys.path.

celery.utils.imports.reload_from_cwd(module, reloader=None)[源代码]

celery.utils.imports.module_file(module)[源代码]

Return the correct original file name of a module.