python-docs-fr/library/importlib.po

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-03-23 09:03+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."
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 ""