forked from AFPy/python-docs-fr
1634 lines
54 KiB
Plaintext
1634 lines
54 KiB
Plaintext
# SOME DESCRIPTIVE TITLE.
|
|
# Copyright (C) 2001-2016, Python Software Foundation
|
|
# This file is distributed under the same license as the Python package.
|
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|
#
|
|
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: Python 3.6\n"
|
|
"Report-Msgid-Bugs-To: \n"
|
|
"POT-Creation-Date: 2018-02-08 09:58+0100\n"
|
|
"PO-Revision-Date: 2017-08-10 01:00+0200\n"
|
|
"Last-Translator: Julien Palard <julien@palard.fr>\n"
|
|
"Language-Team: \n"
|
|
"Language: fr\n"
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
"X-Generator: Poedit 1.8.11\n"
|
|
|
|
#: ../Doc/library/importlib.rst:2
|
|
msgid ":mod:`importlib` --- The implementation of :keyword:`import`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:12
|
|
msgid "**Source code:** :source:`Lib/importlib/__init__.py`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:17
|
|
msgid "Introduction"
|
|
msgstr "Introduction"
|
|
|
|
#: ../Doc/library/importlib.rst:19
|
|
msgid ""
|
|
"The purpose of the :mod:`importlib` package is two-fold. One is to provide "
|
|
"the implementation of the :keyword:`import` statement (and thus, by "
|
|
"extension, the :func:`__import__` function) in Python source code. This "
|
|
"provides an implementation of :keyword:`import` which is portable to any "
|
|
"Python interpreter. This also provides an implementation which is easier to "
|
|
"comprehend than one implemented in a programming language other than Python."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:26
|
|
msgid ""
|
|
"Two, the components to implement :keyword:`import` are exposed in this "
|
|
"package, making it easier for users to create their own custom objects "
|
|
"(known generically as an :term:`importer`) to participate in the import "
|
|
"process."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:33
|
|
msgid ":ref:`import`"
|
|
msgstr ":ref:`import`"
|
|
|
|
#: ../Doc/library/importlib.rst:33
|
|
msgid "The language reference for the :keyword:`import` statement."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:38
|
|
msgid ""
|
|
"`Packages specification <https://www.python.org/doc/essays/packages/>`__"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:36
|
|
msgid ""
|
|
"Original specification of packages. Some semantics have changed since the "
|
|
"writing of this document (e.g. redirecting based on ``None`` in :data:`sys."
|
|
"modules`)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:41
|
|
msgid "The :func:`.__import__` function"
|
|
msgstr "La fonction :func:`.__import__`"
|
|
|
|
#: ../Doc/library/importlib.rst:41
|
|
msgid "The :keyword:`import` statement is syntactic sugar for this function."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:44
|
|
msgid ":pep:`235`"
|
|
msgstr ":pep:`235`"
|
|
|
|
#: ../Doc/library/importlib.rst:44
|
|
msgid "Import on Case-Insensitive Platforms"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:47
|
|
msgid ":pep:`263`"
|
|
msgstr ":pep:`263`"
|
|
|
|
#: ../Doc/library/importlib.rst:47
|
|
msgid "Defining Python Source Code Encodings"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:50
|
|
msgid ":pep:`302`"
|
|
msgstr ":pep:`302`"
|
|
|
|
#: ../Doc/library/importlib.rst:50
|
|
msgid "New Import Hooks"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:53
|
|
msgid ":pep:`328`"
|
|
msgstr ":pep:`328`"
|
|
|
|
#: ../Doc/library/importlib.rst:53
|
|
msgid "Imports: Multi-Line and Absolute/Relative"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:56
|
|
msgid ":pep:`366`"
|
|
msgstr ":pep:`366`"
|
|
|
|
#: ../Doc/library/importlib.rst:56
|
|
msgid "Main module explicit relative imports"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:59
|
|
msgid ":pep:`420`"
|
|
msgstr ":pep:`420`"
|
|
|
|
#: ../Doc/library/importlib.rst:59
|
|
msgid "Implicit namespace packages"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:62
|
|
msgid ":pep:`451`"
|
|
msgstr ":pep:`451`"
|
|
|
|
#: ../Doc/library/importlib.rst:62
|
|
msgid "A ModuleSpec Type for the Import System"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:65
|
|
msgid ":pep:`488`"
|
|
msgstr ":pep:`488`"
|
|
|
|
#: ../Doc/library/importlib.rst:65
|
|
msgid "Elimination of PYO files"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:68
|
|
msgid ":pep:`489`"
|
|
msgstr ":pep:`489`"
|
|
|
|
#: ../Doc/library/importlib.rst:68
|
|
msgid "Multi-phase extension module initialization"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:71
|
|
msgid ":pep:`3120`"
|
|
msgstr ":pep:`3120`"
|
|
|
|
#: ../Doc/library/importlib.rst:71
|
|
msgid "Using UTF-8 as the Default Source Encoding"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:73
|
|
msgid ":pep:`3147`"
|
|
msgstr ":pep:`3147`"
|
|
|
|
#: ../Doc/library/importlib.rst:74
|
|
msgid "PYC Repository Directories"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:78
|
|
msgid "Functions"
|
|
msgstr "Fonctions"
|
|
|
|
#: ../Doc/library/importlib.rst:82
|
|
msgid "An implementation of the built-in :func:`__import__` function."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:85
|
|
msgid ""
|
|
"Programmatic importing of modules should use :func:`import_module` instead "
|
|
"of this function."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:90
|
|
msgid ""
|
|
"Import a module. The *name* argument specifies what module to import in "
|
|
"absolute or relative terms (e.g. either ``pkg.mod`` or ``..mod``). If the "
|
|
"name is specified in relative terms, then the *package* argument must be set "
|
|
"to the name of the package which is to act as the anchor for resolving the "
|
|
"package name (e.g. ``import_module('..mod', 'pkg.subpkg')`` will import "
|
|
"``pkg.mod``)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:98
|
|
msgid ""
|
|
"The :func:`import_module` function acts as a simplifying wrapper around :"
|
|
"func:`importlib.__import__`. This means all semantics of the function are "
|
|
"derived from :func:`importlib.__import__`. The most important difference "
|
|
"between these two functions is that :func:`import_module` returns the "
|
|
"specified package or module (e.g. ``pkg.mod``), while :func:`__import__` "
|
|
"returns the top-level package or module (e.g. ``pkg``)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:105
|
|
msgid ""
|
|
"If you are dynamically importing a module that was created since the "
|
|
"interpreter began execution (e.g., created a Python source file), you may "
|
|
"need to call :func:`invalidate_caches` in order for the new module to be "
|
|
"noticed by the import system."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:110
|
|
msgid "Parent packages are automatically imported."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:115
|
|
msgid ""
|
|
"Find the loader for a module, optionally within the specified *path*. If the "
|
|
"module is in :attr:`sys.modules`, then ``sys.modules[name].__loader__`` is "
|
|
"returned (unless the loader would be ``None`` or is not set, in which case :"
|
|
"exc:`ValueError` is raised). Otherwise a search using :attr:`sys.meta_path` "
|
|
"is done. ``None`` is returned if no loader is found."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:121
|
|
msgid ""
|
|
"A dotted name does not have its parents implicitly imported as that requires "
|
|
"loading them and that may not be desired. To properly import a submodule you "
|
|
"will need to import all parent packages of the submodule and use the correct "
|
|
"argument to *path*."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:128
|
|
msgid ""
|
|
"If ``__loader__`` is not set, raise :exc:`ValueError`, just like when the "
|
|
"attribute is set to ``None``."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:132
|
|
msgid "Use :func:`importlib.util.find_spec` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:137
|
|
msgid ""
|
|
"Invalidate the internal caches of finders stored at :data:`sys.meta_path`. "
|
|
"If a finder implements ``invalidate_caches()`` then it will be called to "
|
|
"perform the invalidation. This function should be called if any modules are "
|
|
"created/installed while your program is running to guarantee all finders "
|
|
"will notice the new module's existence."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:147
|
|
msgid ""
|
|
"Reload a previously imported *module*. The argument must be a module "
|
|
"object, so it must have been successfully imported before. This is useful "
|
|
"if you have edited the module source file using an external editor and want "
|
|
"to try out the new version without leaving the Python interpreter. The "
|
|
"return value is the module object (which can be different if re-importing "
|
|
"causes a different object to be placed in :data:`sys.modules`)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:154
|
|
msgid "When :func:`reload` is executed:"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:156
|
|
msgid ""
|
|
"Python module's code is recompiled and the module-level code re-executed, "
|
|
"defining a new set of objects which are bound to names in the module's "
|
|
"dictionary by reusing the :term:`loader` which originally loaded the "
|
|
"module. The ``init`` function of extension modules is not called a second "
|
|
"time."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:162
|
|
msgid ""
|
|
"As with all other objects in Python the old objects are only reclaimed after "
|
|
"their reference counts drop to zero."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:165
|
|
msgid ""
|
|
"The names in the module namespace are updated to point to any new or changed "
|
|
"objects."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:168
|
|
msgid ""
|
|
"Other references to the old objects (such as names external to the module) "
|
|
"are not rebound to refer to the new objects and must be updated in each "
|
|
"namespace where they occur if that is desired."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:172
|
|
msgid "There are a number of other caveats:"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:174
|
|
msgid ""
|
|
"When a module is reloaded, its dictionary (containing the module's global "
|
|
"variables) is retained. Redefinitions of names will override the old "
|
|
"definitions, so this is generally not a problem. If the new version of a "
|
|
"module does not define a name that was defined by the old version, the old "
|
|
"definition remains. This feature can be used to the module's advantage if "
|
|
"it maintains a global table or cache of objects --- with a :keyword:`try` "
|
|
"statement it can test for the table's presence and skip its initialization "
|
|
"if desired::"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:188
|
|
msgid ""
|
|
"It is generally not very useful to reload built-in or dynamically loaded "
|
|
"modules. Reloading :mod:`sys`, :mod:`__main__`, :mod:`builtins` and other "
|
|
"key modules is not recommended. In many cases extension modules are not "
|
|
"designed to be initialized more than once, and may fail in arbitrary ways "
|
|
"when reloaded."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:194
|
|
msgid ""
|
|
"If a module imports objects from another module using :keyword:`from` ... :"
|
|
"keyword:`import` ..., calling :func:`reload` for the other module does not "
|
|
"redefine the objects imported from it --- one way around this is to re-"
|
|
"execute the :keyword:`from` statement, another is to use :keyword:`import` "
|
|
"and qualified names (*module.name*) instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:200
|
|
msgid ""
|
|
"If a module instantiates instances of a class, reloading the module that "
|
|
"defines the class does not affect the method definitions of the instances "
|
|
"--- they continue to use the old class definition. The same is true for "
|
|
"derived classes."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:209
|
|
msgid ":mod:`importlib.abc` -- Abstract base classes related to import"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:214
|
|
msgid "**Source code:** :source:`Lib/importlib/abc.py`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:219
|
|
msgid ""
|
|
"The :mod:`importlib.abc` module contains all of the core abstract base "
|
|
"classes used by :keyword:`import`. Some subclasses of the core abstract base "
|
|
"classes are also provided to help in implementing the core ABCs."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:223
|
|
msgid "ABC hierarchy::"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:239
|
|
msgid "An abstract base class representing a :term:`finder`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:241
|
|
msgid "Use :class:`MetaPathFinder` or :class:`PathEntryFinder` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:246
|
|
msgid ""
|
|
"An abstact method for finding a :term:`loader` for the specified module. "
|
|
"Originally specified in :pep:`302`, this method was meant for use in :data:"
|
|
"`sys.meta_path` and in the path-based import subsystem."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:250
|
|
msgid ""
|
|
"Returns ``None`` when called instead of raising :exc:`NotImplementedError`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:257
|
|
msgid ""
|
|
"An abstract base class representing a :term:`meta path finder`. For "
|
|
"compatibility, this is a subclass of :class:`Finder`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:264
|
|
msgid ""
|
|
"An abstract method for finding a :term:`spec <module spec>` for the "
|
|
"specified module. If this is a top-level import, *path* will be ``None``. "
|
|
"Otherwise, this is a search for a subpackage or module and *path* will be "
|
|
"the value of :attr:`__path__` from the parent package. If a spec cannot be "
|
|
"found, ``None`` is returned. When passed in, ``target`` is a module object "
|
|
"that the finder may use to make a more educated guess about what spec to "
|
|
"return."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:276
|
|
msgid ""
|
|
"A legacy method for finding a :term:`loader` for the specified module. If "
|
|
"this is a top-level import, *path* will be ``None``. Otherwise, this is a "
|
|
"search for a subpackage or module and *path* will be the value of :attr:"
|
|
"`__path__` from the parent package. If a loader cannot be found, ``None`` is "
|
|
"returned."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:282
|
|
msgid ""
|
|
"If :meth:`find_spec` is defined, backwards-compatible functionality is "
|
|
"provided."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:285
|
|
msgid ""
|
|
"Returns ``None`` when called instead of raising :exc:`NotImplementedError`. "
|
|
"Can use :meth:`find_spec` to provide functionality."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:290 ../Doc/library/importlib.rst:343
|
|
#: ../Doc/library/importlib.rst:351 ../Doc/library/importlib.rst:847
|
|
msgid "Use :meth:`find_spec` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:295
|
|
msgid ""
|
|
"An optional method which, when called, should invalidate any internal cache "
|
|
"used by the finder. Used by :func:`importlib.invalidate_caches` when "
|
|
"invalidating the caches of all finders on :data:`sys.meta_path`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:299
|
|
msgid "Returns ``None`` when called instead of ``NotImplemented``."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:305
|
|
msgid ""
|
|
"An abstract base class representing a :term:`path entry finder`. Though it "
|
|
"bears some similarities to :class:`MetaPathFinder`, ``PathEntryFinder`` is "
|
|
"meant for use only within the path-based import subsystem provided by :class:"
|
|
"`PathFinder`. This ABC is a subclass of :class:`Finder` for compatibility "
|
|
"reasons only."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:315
|
|
msgid ""
|
|
"An abstract method for finding a :term:`spec <module spec>` for the "
|
|
"specified module. The finder will search for the module only within the :"
|
|
"term:`path entry` to which it is assigned. If a spec cannot be found, "
|
|
"``None`` is returned. When passed in, ``target`` is a module object that "
|
|
"the finder may use to make a more educated guess about what spec to return."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:326
|
|
msgid ""
|
|
"A legacy method for finding a :term:`loader` for the specified module. "
|
|
"Returns a 2-tuple of ``(loader, portion)`` where ``portion`` is a sequence "
|
|
"of file system locations contributing to part of a namespace package. The "
|
|
"loader may be ``None`` while specifying ``portion`` to signify the "
|
|
"contribution of the file system locations to a namespace package. An empty "
|
|
"list can be used for ``portion`` to signify the loader is not part of a "
|
|
"namespace package. If ``loader`` is ``None`` and ``portion`` is the empty "
|
|
"list then no loader or location for a namespace package were found (i.e. "
|
|
"failure to find anything for the module)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:336
|
|
msgid ""
|
|
"If :meth:`find_spec` is defined then backwards-compatible functionality is "
|
|
"provided."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:339
|
|
msgid ""
|
|
"Returns ``(None, [])`` instead of raising :exc:`NotImplementedError`. Uses :"
|
|
"meth:`find_spec` when available to provide functionality."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:348
|
|
msgid ""
|
|
"A concrete implementation of :meth:`Finder.find_module` which is equivalent "
|
|
"to ``self.find_loader(fullname)[0]``."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:356
|
|
msgid ""
|
|
"An optional method which, when called, should invalidate any internal cache "
|
|
"used by the finder. Used by :meth:`PathFinder.invalidate_caches` when "
|
|
"invalidating the caches of all cached finders."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:363
|
|
msgid ""
|
|
"An abstract base class for a :term:`loader`. See :pep:`302` for the exact "
|
|
"definition for a loader."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:368
|
|
msgid ""
|
|
"A method that returns the module object to use when importing a module. "
|
|
"This method may return ``None``, indicating that default module creation "
|
|
"semantics should take place."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:374
|
|
msgid ""
|
|
"Starting in Python 3.6, this method will not be optional when :meth:"
|
|
"`exec_module` is defined."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:380
|
|
msgid ""
|
|
"An abstract method that executes the module in its own namespace when a "
|
|
"module is imported or reloaded. The module should already be initialized "
|
|
"when ``exec_module()`` is called. When this method exists, :meth:`~importlib."
|
|
"abc.Loader.create_module` must be defined."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:387
|
|
msgid ":meth:`~importlib.abc.Loader.create_module` must also be defined."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:392
|
|
msgid ""
|
|
"A legacy method for loading a module. If the module cannot be loaded, :exc:"
|
|
"`ImportError` is raised, otherwise the loaded module is returned."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:396
|
|
msgid ""
|
|
"If the requested module already exists in :data:`sys.modules`, that module "
|
|
"should be used and reloaded. Otherwise the loader should create a new module "
|
|
"and insert it into :data:`sys.modules` before any loading begins, to prevent "
|
|
"recursion from the import. If the loader inserted a module and the load "
|
|
"fails, it must be removed by the loader from :data:`sys.modules`; modules "
|
|
"already in :data:`sys.modules` before the loader began execution should be "
|
|
"left alone (see :func:`importlib.util.module_for_loader`)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:405
|
|
msgid ""
|
|
"The loader should set several attributes on the module. (Note that some of "
|
|
"these attributes can change when a module is reloaded):"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:410
|
|
msgid ":attr:`__name__`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:410
|
|
msgid "The name of the module."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:414
|
|
msgid ":attr:`__file__`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:413
|
|
msgid ""
|
|
"The path to where the module data is stored (not set for built-in modules)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:418
|
|
msgid ":attr:`__cached__`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:417
|
|
msgid ""
|
|
"The path to where a compiled version of the module is/should be stored (not "
|
|
"set when the attribute would be inappropriate)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:422
|
|
msgid ":attr:`__path__`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:421
|
|
msgid ""
|
|
"A list of strings specifying the search path within a package. This "
|
|
"attribute is not set on modules."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:428
|
|
msgid ":attr:`__package__`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:425
|
|
msgid ""
|
|
"The parent package for the module/package. If the module is top-level then "
|
|
"it has a value of the empty string. The :func:`importlib.util."
|
|
"module_for_loader` decorator can handle the details for :attr:`__package__`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:433
|
|
msgid ":attr:`__loader__`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:431
|
|
msgid ""
|
|
"The loader used to load the module. The :func:`importlib.util."
|
|
"module_for_loader` decorator can handle the details for :attr:`__package__`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:435
|
|
msgid ""
|
|
"When :meth:`exec_module` is available then backwards-compatible "
|
|
"functionality is provided."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:438
|
|
msgid ""
|
|
"Raise :exc:`ImportError` when called instead of :exc:`NotImplementedError`. "
|
|
"Functionality provided when :meth:`exec_module` is available."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:443
|
|
msgid ""
|
|
"The recommended API for loading a module is :meth:`exec_module` (and :meth:"
|
|
"`create_module`). Loaders should implement it instead of load_module(). "
|
|
"The import machinery takes care of all the other responsibilities of "
|
|
"load_module() when exec_module() is implemented."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:452
|
|
msgid ""
|
|
"A legacy method which when implemented calculates and returns the given "
|
|
"module's repr, as a string. The module type's default repr() will use the "
|
|
"result of this method as appropriate."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:458
|
|
msgid "Made optional instead of an abstractmethod."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:461
|
|
msgid "The import machinery now takes care of this automatically."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:467
|
|
msgid ""
|
|
"An abstract base class for a :term:`loader` which implements the optional :"
|
|
"pep:`302` protocol for loading arbitrary resources from the storage back-end."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:473
|
|
msgid ""
|
|
"An abstract method to return the bytes for the data located at *path*. "
|
|
"Loaders that have a file-like storage back-end that allows storing arbitrary "
|
|
"data can implement this abstract method to give direct access to the data "
|
|
"stored. :exc:`OSError` is to be raised if the *path* cannot be found. The "
|
|
"*path* is expected to be constructed using a module's :attr:`__file__` "
|
|
"attribute or an item from a package's :attr:`__path__`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:481
|
|
msgid "Raises :exc:`OSError` instead of :exc:`NotImplementedError`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:487
|
|
msgid ""
|
|
"An abstract base class for a :term:`loader` which implements the optional :"
|
|
"pep:`302` protocol for loaders that inspect modules."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:492
|
|
msgid ""
|
|
"Return the code object for a module, or ``None`` if the module does not have "
|
|
"a code object (as would be the case, for example, for a built-in module). "
|
|
"Raise an :exc:`ImportError` if loader cannot find the requested module."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:498
|
|
msgid ""
|
|
"While the method has a default implementation, it is suggested that it be "
|
|
"overridden if possible for performance."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:504
|
|
msgid "No longer abstract and a concrete implementation is provided."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:509
|
|
msgid ""
|
|
"An abstract method to return the source of a module. It is returned as a "
|
|
"text string using :term:`universal newlines`, translating all recognized "
|
|
"line separators into ``'\\n'`` characters. Returns ``None`` if no source is "
|
|
"available (e.g. a built-in module). Raises :exc:`ImportError` if the loader "
|
|
"cannot find the module specified."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:515 ../Doc/library/importlib.rst:524
|
|
#: ../Doc/library/importlib.rst:574
|
|
msgid "Raises :exc:`ImportError` instead of :exc:`NotImplementedError`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:520
|
|
msgid ""
|
|
"An abstract method to return a true value if the module is a package, a "
|
|
"false value otherwise. :exc:`ImportError` is raised if the :term:`loader` "
|
|
"cannot find the module."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:529
|
|
msgid "Create a code object from Python source."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:531
|
|
msgid ""
|
|
"The *data* argument can be whatever the :func:`compile` function supports (i."
|
|
"e. string or bytes). The *path* argument should be the \"path\" to where the "
|
|
"source code originated from, which can be an abstract concept (e.g. location "
|
|
"in a zip file)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:536
|
|
msgid ""
|
|
"With the subsequent code object one can execute it in a module by running "
|
|
"``exec(code, module.__dict__)``."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:541
|
|
msgid "Made the method static."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:546
|
|
msgid "Implementation of :meth:`Loader.exec_module`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:552
|
|
msgid "Implementation of :meth:`Loader.load_module`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:554
|
|
msgid "use :meth:`exec_module` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:560
|
|
msgid ""
|
|
"An abstract base class which inherits from :class:`InspectLoader` that, when "
|
|
"implemented, helps a module to be executed as a script. The ABC represents "
|
|
"an optional :pep:`302` protocol."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:566
|
|
msgid ""
|
|
"An abstract method that is to return the value of :attr:`__file__` for the "
|
|
"specified module. If no path is available, :exc:`ImportError` is raised."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:570
|
|
msgid ""
|
|
"If source code is available, then the method should return the path to the "
|
|
"source file, regardless of whether a bytecode was used to load the module."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:580
|
|
msgid ""
|
|
"An abstract base class which inherits from :class:`ResourceLoader` and :"
|
|
"class:`ExecutionLoader`, providing concrete implementations of :meth:"
|
|
"`ResourceLoader.get_data` and :meth:`ExecutionLoader.get_filename`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:584
|
|
msgid ""
|
|
"The *fullname* argument is a fully resolved name of the module the loader is "
|
|
"to handle. The *path* argument is the path to the file for the module."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:591
|
|
msgid "The name of the module the loader can handle."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:595
|
|
msgid "Path to the file of the module."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:599
|
|
msgid "Calls super's ``load_module()``."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:601
|
|
msgid "Use :meth:`Loader.exec_module` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:606 ../Doc/library/importlib.rst:1041
|
|
msgid "Returns :attr:`path`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:610
|
|
msgid "Reads *path* as a binary file and returns the bytes from it."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:615
|
|
msgid ""
|
|
"An abstract base class for implementing source (and optionally bytecode) "
|
|
"file loading. The class inherits from both :class:`ResourceLoader` and :"
|
|
"class:`ExecutionLoader`, requiring the implementation of:"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:619
|
|
msgid ":meth:`ResourceLoader.get_data`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:622
|
|
msgid ":meth:`ExecutionLoader.get_filename`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:621
|
|
msgid ""
|
|
"Should only return the path to the source file; sourceless loading is not "
|
|
"supported."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:624
|
|
msgid ""
|
|
"The abstract methods defined by this class are to add optional bytecode file "
|
|
"support. Not implementing these optional methods (or causing them to raise :"
|
|
"exc:`NotImplementedError`) causes the loader to only work with source code. "
|
|
"Implementing the methods allows the loader to work with source *and* "
|
|
"bytecode files; it does not allow for *sourceless* loading where only "
|
|
"bytecode is provided. Bytecode files are an optimization to speed up "
|
|
"loading by removing the parsing step of Python's compiler, and so no "
|
|
"bytecode-specific API is exposed."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:635
|
|
msgid ""
|
|
"Optional abstract method which returns a :class:`dict` containing metadata "
|
|
"about the specified path. Supported dictionary keys are:"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:638
|
|
msgid ""
|
|
"``'mtime'`` (mandatory): an integer or floating-point number representing "
|
|
"the modification time of the source code;"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:640
|
|
msgid "``'size'`` (optional): the size in bytes of the source code."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:642
|
|
msgid ""
|
|
"Any other keys in the dictionary are ignored, to allow for future "
|
|
"extensions. If the path cannot be handled, :exc:`OSError` is raised."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:647 ../Doc/library/importlib.rst:660
|
|
msgid "Raise :exc:`OSError` instead of :exc:`NotImplementedError`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:652
|
|
msgid ""
|
|
"Optional abstract method which returns the modification time for the "
|
|
"specified path."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:655
|
|
msgid ""
|
|
"This method is deprecated in favour of :meth:`path_stats`. You don't have "
|
|
"to implement it, but it is still available for compatibility purposes. "
|
|
"Raise :exc:`OSError` if the path cannot be handled."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:665
|
|
msgid ""
|
|
"Optional abstract method which writes the specified bytes to a file path. "
|
|
"Any intermediate directories which do not exist are to be created "
|
|
"automatically."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:669
|
|
msgid ""
|
|
"When writing to the path fails because the path is read-only (:attr:`errno."
|
|
"EACCES`/:exc:`PermissionError`), do not propagate the exception."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:673
|
|
msgid "No longer raises :exc:`NotImplementedError` when called."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:678
|
|
msgid "Concrete implementation of :meth:`InspectLoader.get_code`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:682
|
|
msgid "Concrete implementation of :meth:`Loader.exec_module`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:688
|
|
msgid "Concrete implementation of :meth:`Loader.load_module`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:690
|
|
msgid "Use :meth:`exec_module` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:695
|
|
msgid "Concrete implementation of :meth:`InspectLoader.get_source`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:699
|
|
msgid ""
|
|
"Concrete implementation of :meth:`InspectLoader.is_package`. A module is "
|
|
"determined to be a package if its file path (as provided by :meth:"
|
|
"`ExecutionLoader.get_filename`) is a file named ``__init__`` when the file "
|
|
"extension is removed **and** the module name itself does not end in "
|
|
"``__init__``."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:707
|
|
msgid ":mod:`importlib.machinery` -- Importers and path hooks"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:712
|
|
msgid "**Source code:** :source:`Lib/importlib/machinery.py`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:716
|
|
msgid ""
|
|
"This module contains the various objects that help :keyword:`import` find "
|
|
"and load modules."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:721
|
|
msgid ""
|
|
"A list of strings representing the recognized file suffixes for source "
|
|
"modules."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:728
|
|
msgid ""
|
|
"A list of strings representing the file suffixes for non-optimized bytecode "
|
|
"modules."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:733 ../Doc/library/importlib.rst:743
|
|
msgid "Use :attr:`BYTECODE_SUFFIXES` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:738
|
|
msgid ""
|
|
"A list of strings representing the file suffixes for optimized bytecode "
|
|
"modules."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:748
|
|
msgid ""
|
|
"A list of strings representing the recognized file suffixes for bytecode "
|
|
"modules (including the leading dot)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:753
|
|
msgid "The value is no longer dependent on ``__debug__``."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:758
|
|
msgid ""
|
|
"A list of strings representing the recognized file suffixes for extension "
|
|
"modules."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:765
|
|
msgid ""
|
|
"Returns a combined list of strings representing all file suffixes for "
|
|
"modules recognized by the standard import machinery. This is a helper for "
|
|
"code which simply needs to know if a filesystem path potentially refers to a "
|
|
"module without needing any details on the kind of module (for example, :func:"
|
|
"`inspect.getmodulename`)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:776
|
|
msgid ""
|
|
"An :term:`importer` for built-in modules. All known built-in modules are "
|
|
"listed in :data:`sys.builtin_module_names`. This class implements the :class:"
|
|
"`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:781 ../Doc/library/importlib.rst:795
|
|
#: ../Doc/library/importlib.rst:804 ../Doc/library/importlib.rst:819
|
|
msgid ""
|
|
"Only class methods are defined by this class to alleviate the need for "
|
|
"instantiation."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:784
|
|
msgid ""
|
|
"As part of :pep:`489`, the builtin importer now implements :meth:`Loader."
|
|
"create_module` and :meth:`Loader.exec_module`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:791
|
|
msgid ""
|
|
"An :term:`importer` for frozen modules. This class implements the :class:"
|
|
"`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:801
|
|
msgid ""
|
|
":term:`Finder` for modules declared in the Windows registry. This class "
|
|
"implements the :class:`importlib.abc.Finder` ABC."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:809
|
|
msgid ""
|
|
"Use :mod:`site` configuration instead. Future versions of Python may not "
|
|
"enable this finder by default."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:816
|
|
msgid ""
|
|
"A :term:`Finder` for :data:`sys.path` and package ``__path__`` attributes. "
|
|
"This class implements the :class:`importlib.abc.MetaPathFinder` ABC."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:824
|
|
msgid ""
|
|
"Class method that attempts to find a :term:`spec <module spec>` for the "
|
|
"module specified by *fullname* on :data:`sys.path` or, if defined, on "
|
|
"*path*. For each path entry that is searched, :data:`sys."
|
|
"path_importer_cache` is checked. If a non-false object is found then it is "
|
|
"used as the :term:`path entry finder` to look for the module being searched "
|
|
"for. If no entry is found in :data:`sys.path_importer_cache`, then :data:"
|
|
"`sys.path_hooks` is searched for a finder for the path entry and, if found, "
|
|
"is stored in :data:`sys.path_importer_cache` along with being queried about "
|
|
"the module. If no finder is ever found then ``None`` is both stored in the "
|
|
"cache and returned."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:838
|
|
msgid ""
|
|
"If the current working directory -- represented by an empty string -- is no "
|
|
"longer valid then ``None`` is returned but no value is cached in :data:`sys."
|
|
"path_importer_cache`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:845
|
|
msgid "A legacy wrapper around :meth:`find_spec`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:852
|
|
msgid ""
|
|
"Calls :meth:`importlib.abc.PathEntryFinder.invalidate_caches` on all finders "
|
|
"stored in :attr:`sys.path_importer_cache`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:855
|
|
msgid ""
|
|
"Calls objects in :data:`sys.path_hooks` with the current working directory "
|
|
"for ``''`` (i.e. the empty string)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:862
|
|
msgid ""
|
|
"A concrete implementation of :class:`importlib.abc.PathEntryFinder` which "
|
|
"caches results from the file system."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:865
|
|
msgid ""
|
|
"The *path* argument is the directory for which the finder is in charge of "
|
|
"searching."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:868
|
|
msgid ""
|
|
"The *loader_details* argument is a variable number of 2-item tuples each "
|
|
"containing a loader and a sequence of file suffixes the loader recognizes. "
|
|
"The loaders are expected to be callables which accept two arguments of the "
|
|
"module's name and the path to the file found."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:873
|
|
msgid ""
|
|
"The finder will cache the directory contents as necessary, making stat calls "
|
|
"for each module search to verify the cache is not outdated. Because cache "
|
|
"staleness relies upon the granularity of the operating system's state "
|
|
"information of the file system, there is a potential race condition of "
|
|
"searching for a module, creating a new file, and then searching for the "
|
|
"module the new file represents. If the operations happen fast enough to fit "
|
|
"within the granularity of stat calls, then the module search will fail. To "
|
|
"prevent this from happening, when you create a module dynamically, make sure "
|
|
"to call :func:`importlib.invalidate_caches`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:887
|
|
msgid "The path the finder will search in."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:891
|
|
msgid "Attempt to find the spec to handle *fullname* within :attr:`path`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:897
|
|
msgid "Attempt to find the loader to handle *fullname* within :attr:`path`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:901
|
|
msgid "Clear out the internal cache."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:905
|
|
msgid ""
|
|
"A class method which returns a closure for use on :attr:`sys.path_hooks`. An "
|
|
"instance of :class:`FileFinder` is returned by the closure using the path "
|
|
"argument given to the closure directly and *loader_details* indirectly."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:910
|
|
msgid ""
|
|
"If the argument to the closure is not an existing directory, :exc:"
|
|
"`ImportError` is raised."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:916
|
|
msgid ""
|
|
"A concrete implementation of :class:`importlib.abc.SourceLoader` by "
|
|
"subclassing :class:`importlib.abc.FileLoader` and providing some concrete "
|
|
"implementations of other methods."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:924
|
|
msgid "The name of the module that this loader will handle."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:928
|
|
msgid "The path to the source file."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:932
|
|
msgid "Return true if :attr:`path` appears to be for a package."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:936
|
|
msgid ""
|
|
"Concrete implementation of :meth:`importlib.abc.SourceLoader.path_stats`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:940
|
|
msgid "Concrete implementation of :meth:`importlib.abc.SourceLoader.set_data`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:944 ../Doc/library/importlib.rst:987
|
|
msgid ""
|
|
"Concrete implementation of :meth:`importlib.abc.Loader.load_module` where "
|
|
"specifying the name of the module to load is optional."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:949 ../Doc/library/importlib.rst:992
|
|
msgid "Use :meth:`importlib.abc.Loader.exec_module` instead."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:954
|
|
msgid ""
|
|
"A concrete implementation of :class:`importlib.abc.FileLoader` which can "
|
|
"import bytecode files (i.e. no source code files exist)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:957
|
|
msgid ""
|
|
"Please note that direct use of bytecode files (and thus not source code "
|
|
"files) inhibits your modules from being usable by all Python implementations "
|
|
"or new versions of Python which change the bytecode format."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:966
|
|
msgid "The name of the module the loader will handle."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:970
|
|
msgid "The path to the bytecode file."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:974
|
|
msgid "Determines if the module is a package based on :attr:`path`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:978
|
|
msgid "Returns the code object for :attr:`name` created from :attr:`path`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:982
|
|
msgid ""
|
|
"Returns ``None`` as bytecode files have no source when this loader is used."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:997
|
|
msgid ""
|
|
"A concrete implementation of :class:`importlib.abc.ExecutionLoader` for "
|
|
"extension modules."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1000
|
|
msgid ""
|
|
"The *fullname* argument specifies the name of the module the loader is to "
|
|
"support. The *path* argument is the path to the extension module's file."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1007
|
|
msgid "Name of the module the loader supports."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1011
|
|
msgid "Path to the extension module."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1015
|
|
msgid ""
|
|
"Creates the module object from the given specification in accordance with :"
|
|
"pep:`489`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1022
|
|
msgid "Initializes the given module object in accordance with :pep:`489`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1028
|
|
msgid ""
|
|
"Returns ``True`` if the file path points to a package's ``__init__`` module "
|
|
"based on :attr:`EXTENSION_SUFFIXES`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1033
|
|
msgid "Returns ``None`` as extension modules lack a code object."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1037
|
|
msgid "Returns ``None`` as extension modules do not have source code."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1048
|
|
msgid ""
|
|
"A specification for a module's import-system-related state. This is "
|
|
"typically exposed as the module's ``__spec__`` attribute. In the "
|
|
"descriptions below, the names in parentheses give the corresponding "
|
|
"attribute available directly on the module object. E.g. ``module.__spec__."
|
|
"origin == module.__file__``. Note however that while the *values* are "
|
|
"usually equivalent, they can differ since there is no synchronization "
|
|
"between the two objects. Thus it is possible to update the module's "
|
|
"``__path__`` at runtime, and this will not be automatically reflected in "
|
|
"``__spec__.submodule_search_locations``."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1062
|
|
msgid "(``__name__``)"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1064
|
|
msgid "A string for the fully-qualified name of the module."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1068
|
|
msgid "(``__loader__``)"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1070
|
|
msgid ""
|
|
"The loader to use for loading. For namespace packages this should be set to "
|
|
"``None``."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1075
|
|
msgid "(``__file__``)"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1077
|
|
msgid ""
|
|
"Name of the place from which the module is loaded, e.g. \"builtin\" for "
|
|
"built-in modules and the filename for modules loaded from source. Normally "
|
|
"\"origin\" should be set, but it may be ``None`` (the default) which "
|
|
"indicates it is unspecified (e.g. for namespace packages)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1084
|
|
msgid "(``__path__``)"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1086
|
|
msgid ""
|
|
"List of strings for where to find submodules, if a package (``None`` "
|
|
"otherwise)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1091
|
|
msgid ""
|
|
"Container of extra module-specific data for use during loading (or ``None``)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1096
|
|
msgid "(``__cached__``)"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1098
|
|
msgid "String for where the compiled module should be stored (or ``None``)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1102
|
|
msgid "(``__package__``)"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1104
|
|
msgid ""
|
|
"(Read-only) Fully-qualified name of the package to which the module belongs "
|
|
"as a submodule (or ``None``)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1109
|
|
msgid ""
|
|
"Boolean indicating whether or not the module's \"origin\" attribute refers "
|
|
"to a loadable location."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1113
|
|
msgid ":mod:`importlib.util` -- Utility code for importers"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1119
|
|
msgid "**Source code:** :source:`Lib/importlib/util.py`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1123
|
|
msgid ""
|
|
"This module contains the various objects that help in the construction of "
|
|
"an :term:`importer`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1128
|
|
msgid ""
|
|
"The bytes which represent the bytecode version number. If you need help with "
|
|
"loading/writing bytecode then consider :class:`importlib.abc.SourceLoader`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1135
|
|
msgid ""
|
|
"Return the :pep:`3147`/:pep:`488` path to the byte-compiled file associated "
|
|
"with the source *path*. For example, if *path* is ``/foo/bar/baz.py`` the "
|
|
"return value would be ``/foo/bar/__pycache__/baz.cpython-32.pyc`` for Python "
|
|
"3.2. The ``cpython-32`` string comes from the current magic tag (see :func:"
|
|
"`get_tag`; if :attr:`sys.implementation.cache_tag` is not defined then :exc:"
|
|
"`NotImplementedError` will be raised)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1142
|
|
msgid ""
|
|
"The *optimization* parameter is used to specify the optimization level of "
|
|
"the bytecode file. An empty string represents no optimization, so ``/foo/bar/"
|
|
"baz.py`` with an *optimization* of ``''`` will result in a bytecode path of "
|
|
"``/foo/bar/__pycache__/baz.cpython-32.pyc``. ``None`` causes the interpter's "
|
|
"optimization level to be used. Any other value's string representation being "
|
|
"used, so ``/foo/bar/baz.py`` with an *optimization* of ``2`` will lead to "
|
|
"the bytecode path of ``/foo/bar/__pycache__/baz.cpython-32.opt-2.pyc``. The "
|
|
"string representation of *optimization* can only be alphanumeric, else :exc:"
|
|
"`ValueError` is raised."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1152
|
|
msgid ""
|
|
"The *debug_override* parameter is deprecated and can be used to override the "
|
|
"system's value for ``__debug__``. A ``True`` value is the equivalent of "
|
|
"setting *optimization* to the empty string. A ``False`` value is the same as "
|
|
"setting *optimization* to ``1``. If both *debug_override* an *optimization* "
|
|
"are not ``None`` then :exc:`TypeError` is raised."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1160
|
|
msgid ""
|
|
"The *optimization* parameter was added and the *debug_override* parameter "
|
|
"was deprecated."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1164 ../Doc/library/importlib.rst:1180
|
|
#: ../Doc/library/importlib.rst:1319
|
|
msgid "Accepts a :term:`path-like object`."
|
|
msgstr "Accepte un :term:`path-like object`."
|
|
|
|
#: ../Doc/library/importlib.rst:1170
|
|
msgid ""
|
|
"Given the *path* to a :pep:`3147` file name, return the associated source "
|
|
"code file path. For example, if *path* is ``/foo/bar/__pycache__/baz."
|
|
"cpython-32.pyc`` the returned path would be ``/foo/bar/baz.py``. *path* "
|
|
"need not exist, however if it does not conform to :pep:`3147` or :pep:`488` "
|
|
"format, a ``ValueError`` is raised. If :attr:`sys.implementation.cache_tag` "
|
|
"is not defined, :exc:`NotImplementedError` is raised."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1185
|
|
msgid ""
|
|
"Decode the given bytes representing source code and return it as a string "
|
|
"with universal newlines (as required by :meth:`importlib.abc.InspectLoader."
|
|
"get_source`)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1193
|
|
msgid "Resolve a relative module name to an absolute one."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1195
|
|
msgid ""
|
|
"If **name** has no leading dots, then **name** is simply returned. This "
|
|
"allows for usage such as ``importlib.util.resolve_name('sys', __package__)`` "
|
|
"without doing a check to see if the **package** argument is needed."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1200
|
|
msgid ""
|
|
":exc:`ValueError` is raised if **name** is a relative module name but "
|
|
"package is a false value (e.g. ``None`` or the empty string). :exc:"
|
|
"`ValueError` is also raised a relative name would escape its containing "
|
|
"package (e.g. requesting ``..bacon`` from within the ``spam`` package)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1209
|
|
msgid ""
|
|
"Find the :term:`spec <module spec>` for a module, optionally relative to the "
|
|
"specified **package** name. If the module is in :attr:`sys.modules`, then "
|
|
"``sys.modules[name].__spec__`` is returned (unless the spec would be "
|
|
"``None`` or is not set, in which case :exc:`ValueError` is raised). "
|
|
"Otherwise a search using :attr:`sys.meta_path` is done. ``None`` is returned "
|
|
"if no spec is found."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1216
|
|
msgid ""
|
|
"If **name** is for a submodule (contains a dot), the parent module is "
|
|
"automatically imported."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1219
|
|
msgid "**name** and **package** work the same as for :func:`import_module`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1225
|
|
msgid ""
|
|
"Create a new module based on **spec** and :meth:`spec.loader.create_module "
|
|
"<importlib.abc.Loader.create_module>`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1228
|
|
msgid ""
|
|
"If :meth:`spec.loader.create_module <importlib.abc.Loader.create_module>` "
|
|
"does not return ``None``, then any pre-existing attributes will not be "
|
|
"reset. Also, no :exc:`AttributeError` will be raised if triggered while "
|
|
"accessing **spec** or setting an attribute on the module."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1233
|
|
msgid ""
|
|
"This function is preferred over using :class:`types.ModuleType` to create a "
|
|
"new module as **spec** is used to set as many import-controlled attributes "
|
|
"on the module as possible."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1241
|
|
msgid ""
|
|
"A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to handle "
|
|
"selecting the proper module object to load with. The decorated method is "
|
|
"expected to have a call signature taking two positional arguments (e.g. "
|
|
"``load_module(self, module)``) for which the second argument will be the "
|
|
"module **object** to be used by the loader. Note that the decorator will not "
|
|
"work on static methods because of the assumption of two arguments."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1250
|
|
msgid ""
|
|
"The decorated method will take in the **name** of the module to be loaded as "
|
|
"expected for a :term:`loader`. If the module is not found in :data:`sys."
|
|
"modules` then a new one is constructed. Regardless of where the module came "
|
|
"from, :attr:`__loader__` set to **self** and :attr:`__package__` is set "
|
|
"based on what :meth:`importlib.abc.InspectLoader.is_package` returns (if "
|
|
"available). These attributes are set unconditionally to support reloading."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1258
|
|
msgid ""
|
|
"If an exception is raised by the decorated method and a module was added to :"
|
|
"data:`sys.modules`, then the module will be removed to prevent a partially "
|
|
"initialized module from being in left in :data:`sys.modules`. If the module "
|
|
"was already in :data:`sys.modules` then it is left alone."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1263
|
|
msgid ""
|
|
":attr:`__loader__` and :attr:`__package__` are automatically set (when "
|
|
"possible)."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1267
|
|
msgid ""
|
|
"Set :attr:`__name__`, :attr:`__loader__` :attr:`__package__` unconditionally "
|
|
"to support reloading."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1271
|
|
msgid ""
|
|
"The import machinery now directly performs all the functionality provided by "
|
|
"this function."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1277
|
|
msgid ""
|
|
"A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :"
|
|
"attr:`__loader__` attribute on the returned module. If the attribute is "
|
|
"already set the decorator does nothing. It is assumed that the first "
|
|
"positional argument to the wrapped method (i.e. ``self``) is what :attr:"
|
|
"`__loader__` should be set to."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1284
|
|
msgid ""
|
|
"Set ``__loader__`` if set to ``None``, as if the attribute does not exist."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1288 ../Doc/library/importlib.rst:1297
|
|
msgid "The import machinery takes care of this automatically."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1293
|
|
msgid ""
|
|
"A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :"
|
|
"attr:`__package__` attribute on the returned module. If :attr:`__package__` "
|
|
"is set and has a value other than ``None`` it will not be changed."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1302
|
|
msgid ""
|
|
"A factory function for creating a :class:`ModuleSpec` instance based on a "
|
|
"loader. The parameters have the same meaning as they do for ModuleSpec. "
|
|
"The function uses available :term:`loader` APIs, such as :meth:"
|
|
"`InspectLoader.is_package`, to fill in any missing information on the spec."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1312
|
|
msgid ""
|
|
"A factory function for creating a :class:`ModuleSpec` instance based on the "
|
|
"path to a file. Missing information will be filled in on the spec by making "
|
|
"use of loader APIs and by the implication that the module will be file-based."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1324
|
|
msgid ""
|
|
"A class which postpones the execution of the loader of a module until the "
|
|
"module has an attribute accessed."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1327
|
|
msgid ""
|
|
"This class **only** works with loaders that define :meth:`~importlib.abc."
|
|
"Loader.exec_module` as control over what module type is used for the module "
|
|
"is required. For those same reasons, the loader's :meth:`~importlib.abc."
|
|
"Loader.create_module` method must return ``None`` or a type for which its "
|
|
"``__class__`` attribute can be mutated along with not using :term:`slots "
|
|
"<__slots__>`. Finally, modules which substitute the object placed into :attr:"
|
|
"`sys.modules` will not work as there is no way to properly replace the "
|
|
"module references throughout the interpreter safely; :exc:`ValueError` is "
|
|
"raised if such a substitution is detected."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1338
|
|
msgid ""
|
|
"For projects where startup time is critical, this class allows for "
|
|
"potentially minimizing the cost of loading a module if it is never used. For "
|
|
"projects where startup time is not essential then use of this class is "
|
|
"**heavily** discouraged due to error messages created during loading being "
|
|
"postponed and thus occurring out of context."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1346
|
|
msgid ""
|
|
"Began calling :meth:`~importlib.abc.Loader.create_module`, removing the "
|
|
"compatibility warning for :class:`importlib.machinery.BuiltinImporter` and :"
|
|
"class:`importlib.machinery.ExtensionFileLoader`."
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1353
|
|
msgid ""
|
|
"A static method which returns a callable that creates a lazy loader. This is "
|
|
"meant to be used in situations where the loader is passed by class instead "
|
|
"of by instance. ::"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1366
|
|
msgid "Examples"
|
|
msgstr "Exemples"
|
|
|
|
#: ../Doc/library/importlib.rst:1369
|
|
msgid "Importing programmatically"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1371
|
|
msgid ""
|
|
"To programmatically import a module, use :func:`importlib.import_module`. ::"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1380
|
|
msgid "Checking if a module can be imported"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1382
|
|
msgid ""
|
|
"If you need to find out if a module can be imported without actually doing "
|
|
"the import, then you should use :func:`importlib.util.find_spec`. ::"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1404
|
|
msgid "Importing a source file directly"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1406
|
|
msgid ""
|
|
"To import a Python source file directly, use the following recipe (Python "
|
|
"3.4 and newer only)::"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1426
|
|
msgid "Setting up an importer"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1428
|
|
msgid ""
|
|
"For deep customizations of import, you typically want to implement an :term:"
|
|
"`importer`. This means managing both the :term:`finder` and :term:`loader` "
|
|
"side of things. For finders there are two flavours to choose from depending "
|
|
"on your needs: a :term:`meta path finder` or a :term:`path entry finder`. "
|
|
"The former is what you would put on :attr:`sys.meta_path` while the latter "
|
|
"is what you create using a :term:`path entry hook` on :attr:`sys.path_hooks` "
|
|
"which works with :attr:`sys.path` entries to potentially create a finder. "
|
|
"This example will show you how to register your own importers so that import "
|
|
"will use them (for creating an importer for yourself, read the documentation "
|
|
"for the appropriate classes defined within this package)::"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1460
|
|
msgid "Approximating :func:`importlib.import_module`"
|
|
msgstr ""
|
|
|
|
#: ../Doc/library/importlib.rst:1462
|
|
msgid ""
|
|
"Import itself is implemented in Python code, making it possible to expose "
|
|
"most of the import machinery through importlib. The following helps "
|
|
"illustrate the various APIs that importlib exposes by providing an "
|
|
"approximate implementation of :func:`importlib.import_module` (Python 3.4 "
|
|
"and newer for the importlib usage, Python 3.6 and newer for other parts of "
|
|
"the code). ::"
|
|
msgstr ""
|