# Copyright (C) 2001-2018, Python Software Foundation # For licence information, see README file. # msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-31 18:36+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: FRENCH \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:4 msgid "Python Development Mode" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:8 msgid "" "The Python Development Mode introduces additional runtime checks that are " "too expensive to be enabled by default. It should not be more verbose than " "the default if the code is correct; new warnings are only emitted when an " "issue is detected." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:13 msgid "" "It can be enabled using the :option:`-X dev <-X>` command line option or by " "setting the :envvar:`PYTHONDEVMODE` environment variable to ``1``." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:17 msgid "Effects of the Python Development Mode" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:19 msgid "" "Enabling the Python Development Mode is similar to the following command, " "but with additional effects described below::" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:24 msgid "Effects of the Python Development Mode:" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:26 msgid "" "Add ``default`` :ref:`warning filter `. The " "following warnings are shown:" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:29 msgid ":exc:`DeprecationWarning`" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:30 msgid ":exc:`ImportWarning`" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:31 msgid ":exc:`PendingDeprecationWarning`" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:32 msgid ":exc:`ResourceWarning`" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:34 msgid "" "Normally, the above warnings are filtered by the default :ref:`warning " "filters `." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:37 msgid "" "It behaves as if the :option:`-W default <-W>` command line option is used." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:39 msgid "" "Use the :option:`-W error <-W>` command line option or set the :envvar:" "`PYTHONWARNINGS` environment variable to ``error`` to treat warnings as " "errors." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:43 msgid "Install debug hooks on memory allocators to check for:" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:45 msgid "Buffer underflow" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:46 msgid "Buffer overflow" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:47 msgid "Memory allocator API violation" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:48 msgid "Unsafe usage of the GIL" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:50 msgid "See the :c:func:`PyMem_SetupDebugHooks` C function." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:52 msgid "" "It behaves as if the :envvar:`PYTHONMALLOC` environment variable is set to " "``debug``." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:55 msgid "" "To enable the Python Development Mode without installing debug hooks on " "memory allocators, set the :envvar:`PYTHONMALLOC` environment variable to " "``default``." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:59 msgid "" "Call :func:`faulthandler.enable` at Python startup to install handlers for " "the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` " "and :const:`SIGILL` signals to dump the Python traceback on a crash." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:63 msgid "" "It behaves as if the :option:`-X faulthandler <-X>` command line option is " "used or if the :envvar:`PYTHONFAULTHANDLER` environment variable is set to " "``1``." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:67 msgid "" "Enable :ref:`asyncio debug mode `. For example, :mod:" "`asyncio` checks for coroutines that were not awaited and logs them." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:70 msgid "" "It behaves as if the :envvar:`PYTHONASYNCIODEBUG` environment variable is " "set to ``1``." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:73 msgid "" "Check the *encoding* and *errors* arguments for string encoding and decoding " "operations. Examples: :func:`open`, :meth:`str.encode` and :meth:`bytes." "decode`." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:77 msgid "" "By default, for best performance, the *errors* argument is only checked at " "the first encoding/decoding error and the *encoding* argument is sometimes " "ignored for empty strings." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:81 msgid "The :class:`io.IOBase` destructor logs ``close()`` exceptions." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:82 msgid "" "Set the :attr:`~sys.flags.dev_mode` attribute of :attr:`sys.flags` to " "``True``." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:85 msgid "" "The Python Development Mode does not enable the :mod:`tracemalloc` module by " "default, because the overhead cost (to performance and memory) would be too " "large. Enabling the :mod:`tracemalloc` module provides additional " "information on the origin of some errors. For example, :exc:" "`ResourceWarning` logs the traceback where the resource was allocated, and a " "buffer overflow error logs the traceback where the memory block was " "allocated." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:92 msgid "" "The Python Development Mode does not prevent the :option:`-O` command line " "option from removing :keyword:`assert` statements nor from setting :const:" "`__debug__` to ``False``." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:96 msgid "The :class:`io.IOBase` destructor now logs ``close()`` exceptions." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:99 msgid "" "The *encoding* and *errors* arguments are now checked for string encoding " "and decoding operations." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:105 msgid "ResourceWarning Example" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:107 msgid "" "Example of a script counting the number of lines of the text file specified " "in the command line::" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:121 msgid "" "The script does not close the file explicitly. By default, Python does not " "emit any warning. Example using README.txt, which has 269 lines:" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:129 msgid "" "Enabling the Python Development Mode displays a :exc:`ResourceWarning` " "warning:" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:139 msgid "" "In addition, enabling :mod:`tracemalloc` shows the line where the file was " "opened:" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:154 msgid "" "The fix is to close explicitly the file. Example using a context manager::" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:162 msgid "" "Not closing a resource explicitly can leave a resource open for way longer " "than expected; it can cause severe issues upon exiting Python. It is bad in " "CPython, but it is even worse in PyPy. Closing resources explicitly makes an " "application more deterministic and more reliable." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:169 msgid "Bad file descriptor error example" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:171 msgid "Script displaying the first line of itself::" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:184 msgid "By default, Python does not emit any warning:" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:191 msgid "" "The Python Development Mode shows a :exc:`ResourceWarning` and logs a \"Bad " "file descriptor\" error when finalizing the file object:" msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:207 msgid "" "``os.close(fp.fileno())`` closes the file descriptor. When the file object " "finalizer tries to close the file descriptor again, it fails with the ``Bad " "file descriptor`` error. A file descriptor must be closed only once. In the " "worst case scenario, closing it twice can lead to a crash (see :issue:" "`18748` for an example)." msgstr "" #: /home/mdk/clones/python/cpython/Doc/library/devmode.rst:213 msgid "" "The fix is to remove the ``os.close(fp.fileno())`` line, or open the file " "with ``closefd=False``." msgstr ""