# German translations for Python package. # Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # Automatically generated, 2026. # msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-09-28 03:11+0000\n" "PO-Revision-Date: 2026-09-23 06:17+0000\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../../c-api/interp-lifecycle.rst:6 msgid "Interpreter initialization and finalization" msgstr "" #: ../../c-api/interp-lifecycle.rst:8 msgid "" "See :ref:`Python Initialization Configuration ` for details on " "how to configure the interpreter prior to initialization." msgstr "" #: ../../c-api/interp-lifecycle.rst:14 msgid "Before Python initialization" msgstr "" #: ../../c-api/interp-lifecycle.rst:16 msgid "" "In an application embedding Python, the :c:func:`Py_Initialize` function " "must be called before using any other Python/C API functions; with the " "exception of a few functions and the :ref:`global configuration variables " "`." msgstr "" #: ../../c-api/interp-lifecycle.rst:21 msgid "" "The following functions can be safely called before Python is initialized:" msgstr "" #: ../../c-api/interp-lifecycle.rst:23 msgid "Functions that initialize the interpreter:" msgstr "" #: ../../c-api/interp-lifecycle.rst:25 msgid ":c:func:`Py_Initialize`" msgstr "" #: ../../c-api/interp-lifecycle.rst:26 msgid ":c:func:`Py_InitializeEx`" msgstr "" #: ../../c-api/interp-lifecycle.rst:27 msgid ":c:func:`Py_InitializeFromConfig`" msgstr "" #: ../../c-api/interp-lifecycle.rst:28 msgid ":c:func:`Py_BytesMain`" msgstr "" #: ../../c-api/interp-lifecycle.rst:29 msgid ":c:func:`Py_Main`" msgstr "" #: ../../c-api/interp-lifecycle.rst:30 msgid "the runtime pre-initialization functions covered in :ref:`init-config`" msgstr "" #: ../../c-api/interp-lifecycle.rst:32 msgid "Configuration functions:" msgstr "" #: ../../c-api/interp-lifecycle.rst:34 msgid ":c:func:`PyImport_AppendInittab`" msgstr "" #: ../../c-api/interp-lifecycle.rst:35 msgid ":c:func:`PyImport_ExtendInittab`" msgstr "" #: ../../c-api/interp-lifecycle.rst:36 msgid ":c:func:`!PyInitFrozenExtensions`" msgstr "" #: ../../c-api/interp-lifecycle.rst:37 msgid ":c:func:`PyMem_SetAllocator`" msgstr "" #: ../../c-api/interp-lifecycle.rst:38 msgid ":c:func:`PyMem_SetupDebugHooks`" msgstr "" #: ../../c-api/interp-lifecycle.rst:39 msgid ":c:func:`PyObject_SetArenaAllocator`" msgstr "" #: ../../c-api/interp-lifecycle.rst:40 msgid ":c:func:`Py_SetProgramName`" msgstr "" #: ../../c-api/interp-lifecycle.rst:41 msgid ":c:func:`Py_SetPythonHome`" msgstr "" #: ../../c-api/interp-lifecycle.rst:42 msgid "the configuration functions covered in :ref:`init-config`" msgstr "" #: ../../c-api/interp-lifecycle.rst:44 msgid "Informative functions:" msgstr "" #: ../../c-api/interp-lifecycle.rst:46 ../../c-api/interp-lifecycle.rst:54 msgid ":c:func:`Py_IsInitialized`" msgstr "" #: ../../c-api/interp-lifecycle.rst:47 msgid ":c:func:`PyMem_GetAllocator`" msgstr "" #: ../../c-api/interp-lifecycle.rst:48 msgid ":c:func:`PyObject_GetArenaAllocator`" msgstr "" #: ../../c-api/interp-lifecycle.rst:49 msgid ":c:func:`Py_GetBuildInfo`" msgstr "" #: ../../c-api/interp-lifecycle.rst:50 msgid ":c:func:`Py_GetCompiler`" msgstr "" #: ../../c-api/interp-lifecycle.rst:51 msgid ":c:func:`Py_GetCopyright`" msgstr "" #: ../../c-api/interp-lifecycle.rst:52 msgid ":c:func:`Py_GetPlatform`" msgstr "" #: ../../c-api/interp-lifecycle.rst:53 msgid ":c:func:`Py_GetVersion`" msgstr "" #: ../../c-api/interp-lifecycle.rst:56 msgid "Utilities:" msgstr "" #: ../../c-api/interp-lifecycle.rst:58 msgid ":c:func:`Py_DecodeLocale`" msgstr "" #: ../../c-api/interp-lifecycle.rst:59 msgid "" "the status reporting and utility functions covered in :ref:`init-config`" msgstr "" #: ../../c-api/interp-lifecycle.rst:61 msgid "Memory allocators:" msgstr "" #: ../../c-api/interp-lifecycle.rst:63 msgid ":c:func:`PyMem_RawMalloc`" msgstr "" #: ../../c-api/interp-lifecycle.rst:64 msgid ":c:func:`PyMem_RawRealloc`" msgstr "" #: ../../c-api/interp-lifecycle.rst:65 msgid ":c:func:`PyMem_RawCalloc`" msgstr "" #: ../../c-api/interp-lifecycle.rst:66 msgid ":c:func:`PyMem_RawFree`" msgstr "" #: ../../c-api/interp-lifecycle.rst:68 msgid "Synchronization:" msgstr "" #: ../../c-api/interp-lifecycle.rst:70 msgid ":c:func:`PyMutex_Lock`" msgstr "" #: ../../c-api/interp-lifecycle.rst:71 msgid ":c:func:`PyMutex_Unlock`" msgstr "" #: ../../c-api/interp-lifecycle.rst:75 msgid "" "Despite their apparent similarity to some of the functions listed above, the " "following functions **should not be called** before the interpreter has been " "initialized: :c:func:`Py_EncodeLocale`, :c:func:`PyEval_InitThreads`, and :c:" "func:`Py_RunMain`." msgstr "" #: ../../c-api/interp-lifecycle.rst:84 msgid "Global configuration variables" msgstr "" #: ../../c-api/interp-lifecycle.rst:86 msgid "" "Python has variables for the global configuration to control different " "features and options. By default, these flags are controlled by :ref:" "`command line options `." msgstr "" #: ../../c-api/interp-lifecycle.rst:90 msgid "" "When a flag is set by an option, the value of the flag is the number of " "times that the option was set. For example, ``-b`` sets :c:data:" "`Py_BytesWarningFlag` to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to " "2." msgstr "" #: ../../c-api/interp-lifecycle.rst:97 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "bytes_warning` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:101 msgid "" "Issue a warning when comparing :class:`bytes` or :class:`bytearray` with :" "class:`str` or :class:`bytes` with :class:`int`. Issue an error if greater " "or equal to ``2``." msgstr "" #: ../../c-api/interp-lifecycle.rst:105 msgid "Set by the :option:`-b` option." msgstr "" #: ../../c-api/interp-lifecycle.rst:112 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "parser_debug` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:116 msgid "" "Turn on parser debugging output (for expert only, depending on compilation " "options)." msgstr "" #: ../../c-api/interp-lifecycle.rst:119 msgid "" "Set by the :option:`-d` option and the :envvar:`PYTHONDEBUG` environment " "variable." msgstr "" #: ../../c-api/interp-lifecycle.rst:127 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "write_bytecode` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:131 msgid "" "If set to non-zero, Python won't try to write ``.pyc`` files on the import " "of source modules." msgstr "" #: ../../c-api/interp-lifecycle.rst:134 msgid "" "Set by the :option:`-B` option and the :envvar:`PYTHONDONTWRITEBYTECODE` " "environment variable." msgstr "" #: ../../c-api/interp-lifecycle.rst:142 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "pathconfig_warnings` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:146 msgid "Private flag used by ``_freeze_module`` and ``frozenmain`` programs." msgstr "" #: ../../c-api/interp-lifecycle.rst:153 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "hash_seed` and :c:member:`PyConfig.use_hash_seed` should be used instead, " "see :ref:`Python Initialization Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:158 msgid "" "Set to ``1`` if the :envvar:`PYTHONHASHSEED` environment variable is set to " "a non-empty string." msgstr "" #: ../../c-api/interp-lifecycle.rst:161 msgid "" "If the flag is non-zero, read the :envvar:`PYTHONHASHSEED` environment " "variable to initialize the secret hash seed." msgstr "" #: ../../c-api/interp-lifecycle.rst:169 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "use_environment` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:173 msgid "" "Ignore all :envvar:`!PYTHON*` environment variables, e.g. :envvar:" "`PYTHONPATH` and :envvar:`PYTHONHOME`, that might be set." msgstr "" #: ../../c-api/interp-lifecycle.rst:176 msgid "Set by the :option:`-E` and :option:`-I` options." msgstr "" #: ../../c-api/interp-lifecycle.rst:183 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "inspect` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:187 msgid "" "When a script is passed as first argument or the :option:`-c` option is " "used, enter interactive mode after executing the script or the command, even " "when :data:`sys.stdin` does not appear to be a terminal." msgstr "" #: ../../c-api/interp-lifecycle.rst:191 msgid "" "Set by the :option:`-i` option and the :envvar:`PYTHONINSPECT` environment " "variable." msgstr "" #: ../../c-api/interp-lifecycle.rst:199 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "interactive` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:203 msgid "Set by the :option:`-i` option." msgstr "" #: ../../c-api/interp-lifecycle.rst:210 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "isolated` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:214 msgid "" "Run Python in isolated mode. In isolated mode :data:`sys.path` contains " "neither the script's directory nor the user's site-packages directory." msgstr "" #: ../../c-api/interp-lifecycle.rst:217 msgid "Set by the :option:`-I` option." msgstr "" #: ../../c-api/interp-lifecycle.rst:226 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyPreConfig." "legacy_windows_fs_encoding` should be used instead, see :ref:`Python " "Initialization Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:230 msgid "" "If the flag is non-zero, use the ``mbcs`` encoding with ``replace`` error " "handler, instead of the UTF-8 encoding with ``surrogatepass`` error handler, " "for the :term:`filesystem encoding and error handler`." msgstr "" #: ../../c-api/interp-lifecycle.rst:234 msgid "" "Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` environment " "variable is set to a non-empty string." msgstr "" #: ../../c-api/interp-lifecycle.rst:237 msgid "See :pep:`529` for more details." msgstr "" #: ../../c-api/interp-lifecycle.rst:239 ../../c-api/interp-lifecycle.rst:258 msgid "Availability" msgstr "" #: ../../c-api/interp-lifecycle.rst:246 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "legacy_windows_stdio` should be used instead, see :ref:`Python " "Initialization Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:250 msgid "" "If the flag is non-zero, use :class:`io.FileIO` instead of :class:`!io." "_WindowsConsoleIO` for :mod:`sys` standard streams." msgstr "" #: ../../c-api/interp-lifecycle.rst:253 msgid "" "Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable " "is set to a non-empty string." msgstr "" #: ../../c-api/interp-lifecycle.rst:256 msgid "See :pep:`528` for more details." msgstr "" #: ../../c-api/interp-lifecycle.rst:265 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "site_import` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:269 msgid "" "Disable the import of the module :mod:`site` and the site-dependent " "manipulations of :data:`sys.path` that it entails. Also disable these " "manipulations if :mod:`site` is explicitly imported later (call :func:`site." "main` if you want them to be triggered)." msgstr "" #: ../../c-api/interp-lifecycle.rst:274 msgid "Set by the :option:`-S` option." msgstr "" #: ../../c-api/interp-lifecycle.rst:281 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "user_site_directory` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:285 msgid "" "Don't add the :data:`user site-packages directory ` to :data:" "`sys.path`." msgstr "" #: ../../c-api/interp-lifecycle.rst:288 msgid "" "Set by the :option:`-s` and :option:`-I` options, and the :envvar:" "`PYTHONNOUSERSITE` environment variable." msgstr "" #: ../../c-api/interp-lifecycle.rst:296 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "optimization_level` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:300 msgid "" "Set by the :option:`-O` option and the :envvar:`PYTHONOPTIMIZE` environment " "variable." msgstr "" #: ../../c-api/interp-lifecycle.rst:308 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "quiet` should be used instead, see :ref:`Python Initialization Configuration " "`." msgstr "" #: ../../c-api/interp-lifecycle.rst:312 msgid "" "Don't display the copyright and version messages even in interactive mode." msgstr "" #: ../../c-api/interp-lifecycle.rst:314 msgid "Set by the :option:`-q` option." msgstr "" #: ../../c-api/interp-lifecycle.rst:323 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "buffered_stdio` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:327 msgid "Force the stdout and stderr streams to be unbuffered." msgstr "" #: ../../c-api/interp-lifecycle.rst:329 msgid "" "Set by the :option:`-u` option and the :envvar:`PYTHONUNBUFFERED` " "environment variable." msgstr "" #: ../../c-api/interp-lifecycle.rst:337 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "verbose` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:341 msgid "" "Print a message each time a module is initialized, showing the place " "(filename or built-in module) from which it is loaded. If greater or equal " "to ``2``, print a message for each file that is checked for when searching " "for a module. Also provides information on module cleanup at exit." msgstr "" #: ../../c-api/interp-lifecycle.rst:346 msgid "" "Set by the :option:`-v` option and the :envvar:`PYTHONVERBOSE` environment " "variable." msgstr "" #: ../../c-api/interp-lifecycle.rst:353 msgid "Initializing and finalizing the interpreter" msgstr "" #: ../../c-api/interp-lifecycle.rst:367 msgid "" "Initialize the Python interpreter. In an application embedding Python, this " "should be called before using any other Python/C API functions; see :ref:" "`Before Python Initialization ` for the few exceptions." msgstr "" #: ../../c-api/interp-lifecycle.rst:371 msgid "" "This initializes the table of loaded modules (``sys.modules``), and creates " "the fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`. It " "also initializes the module search path (``sys.path``). It does not set " "``sys.argv``; use the :ref:`Python Initialization Configuration ` API for that. This is a no-op when called for a second time " "(without calling :c:func:`Py_FinalizeEx` first). There is no return value; " "it is a fatal error if the initialization fails." msgstr "" #: ../../c-api/interp-lifecycle.rst:379 ../../c-api/interp-lifecycle.rst:393 msgid "" "Use :c:func:`Py_InitializeFromConfig` to customize the :ref:`Python " "Initialization Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:383 msgid "" "On Windows, changes the console mode from ``O_TEXT`` to ``O_BINARY``, which " "will also affect non-Python uses of the console using the C Runtime." msgstr "" #: ../../c-api/interp-lifecycle.rst:389 msgid "" "This function works like :c:func:`Py_Initialize` if *initsigs* is ``1``. If " "*initsigs* is ``0``, it skips initialization registration of signal " "handlers, which may be useful when CPython is embedded as part of a larger " "application." msgstr "" #: ../../c-api/interp-lifecycle.rst:399 msgid "" "Initialize Python from *config* configuration, as described in :ref:`init-" "from-config`." msgstr "" #: ../../c-api/interp-lifecycle.rst:402 msgid "" "See the :ref:`init-config` section for details on pre-initializing the " "interpreter, populating the runtime configuration structure, and querying " "the returned status structure." msgstr "" #: ../../c-api/interp-lifecycle.rst:409 msgid "" "Return true (nonzero) when the Python interpreter has been initialized, " "false (zero) if not. After :c:func:`Py_FinalizeEx` is called, this returns " "false until :c:func:`Py_Initialize` is called again." msgstr "" #: ../../c-api/interp-lifecycle.rst:416 msgid "" "Return true (non-zero) if the main Python interpreter is :term:`shutting " "down `. Return false (zero) otherwise." msgstr "" #: ../../c-api/interp-lifecycle.rst:424 msgid "" "Undo all initializations made by :c:func:`Py_Initialize` and subsequent use " "of Python/C API functions, and destroy all sub-interpreters (see :c:func:" "`Py_NewInterpreter` below) that were created and not yet destroyed since the " "last call to :c:func:`Py_Initialize`. This is a no-op when called for a " "second time (without calling :c:func:`Py_Initialize` again first)." msgstr "" #: ../../c-api/interp-lifecycle.rst:430 msgid "" "Since this is the reverse of :c:func:`Py_Initialize`, it should be called in " "the same thread with the same interpreter active. That means the main " "thread and the main interpreter. This should never be called while :c:func:" "`Py_RunMain` is running." msgstr "" #: ../../c-api/interp-lifecycle.rst:435 msgid "" "Normally the return value is ``0``. If there were errors during finalization " "(flushing buffered data), ``-1`` is returned." msgstr "" #: ../../c-api/interp-lifecycle.rst:439 msgid "" "Note that Python will do a best effort at freeing all memory allocated by " "the Python interpreter. Therefore, any C-Extension should make sure to " "correctly clean up all of the previously allocated PyObjects before using " "them in subsequent calls to :c:func:`Py_Initialize`. Otherwise it could " "introduce vulnerabilities and incorrect behavior." msgstr "" #: ../../c-api/interp-lifecycle.rst:445 msgid "" "This function is provided for a number of reasons. An embedding application " "might want to restart Python without having to restart the application " "itself. An application that has loaded the Python interpreter from a " "dynamically loadable library (or DLL) might want to free all memory " "allocated by Python before unloading the DLL. During a hunt for memory leaks " "in an application a developer might want to free all memory allocated by " "Python before exiting from the application." msgstr "" #: ../../c-api/interp-lifecycle.rst:453 msgid "" "**Bugs and caveats:** The destruction of modules and objects in modules is " "done in random order; this may cause destructors (:meth:`~object.__del__` " "methods) to fail when they depend on other objects (even functions) or " "modules. Dynamically loaded extension modules loaded by Python are not " "unloaded. Small amounts of memory allocated by the Python interpreter may " "not be freed (if you find a leak, please report it). Memory tied up in " "circular references between objects is not freed. Interned strings will all " "be deallocated regardless of their reference count. Some memory allocated by " "extension modules may not be freed. Some extensions may not work properly " "if their initialization routine is called more than once; this can happen if " "an application calls :c:func:`Py_Initialize` and :c:func:`Py_FinalizeEx` " "more than once. :c:func:`Py_FinalizeEx` must not be called recursively from " "within itself. Therefore, it must not be called by any code that may be run " "as part of the interpreter shutdown process, such as :py:mod:`atexit` " "handlers, object finalizers, or any code that may be run while flushing the " "stdout and stderr files." msgstr "" #: ../../c-api/interp-lifecycle.rst:469 msgid "" "Raises an :ref:`auditing event ` ``cpython." "_PySys_ClearAuditHooks`` with no arguments." msgstr "" #: ../../c-api/interp-lifecycle.rst:476 msgid "" "This is a backwards-compatible version of :c:func:`Py_FinalizeEx` that " "disregards the return value." msgstr "" #: ../../c-api/interp-lifecycle.rst:482 msgid "" "Similar to :c:func:`Py_Main` but *argv* is an array of bytes strings, " "allowing the calling application to delegate the text decoding step to the " "CPython runtime." msgstr "" #: ../../c-api/interp-lifecycle.rst:491 msgid "" "The main program for the standard interpreter, encapsulating a full " "initialization/finalization cycle, as well as additional behaviour to " "implement reading configurations settings from the environment and command " "line, and then executing ``__main__`` in accordance with :ref:`using-on-" "cmdline`." msgstr "" #: ../../c-api/interp-lifecycle.rst:497 msgid "" "This is made available for programs which wish to support the full CPython " "command line interface, rather than just embedding a Python runtime in a " "larger application." msgstr "" #: ../../c-api/interp-lifecycle.rst:501 msgid "" "The *argc* and *argv* parameters are similar to those which are passed to a " "C program's :c:func:`main` function, except that the *argv* entries are " "first converted to ``wchar_t`` using :c:func:`Py_DecodeLocale`. It is also " "important to note that the argument list entries may be modified to point to " "strings other than those passed in (however, the contents of the strings " "pointed to by the argument list are not modified)." msgstr "" #: ../../c-api/interp-lifecycle.rst:508 msgid "" "The return value is ``2`` if the argument list does not represent a valid " "Python command line, and otherwise the same as :c:func:`Py_RunMain`." msgstr "" #: ../../c-api/interp-lifecycle.rst:511 msgid "" "In terms of the CPython runtime configuration APIs documented in the :ref:" "`runtime configuration ` section (and without accounting for " "error handling), ``Py_Main`` is approximately equivalent to::" msgstr "" #: ../../c-api/interp-lifecycle.rst:515 msgid "" "PyConfig config;\n" "PyConfig_InitPythonConfig(&config);\n" "PyConfig_SetArgv(&config, argc, argv);\n" "Py_InitializeFromConfig(&config);\n" "PyConfig_Clear(&config);\n" "\n" "Py_RunMain();" msgstr "" #: ../../c-api/interp-lifecycle.rst:523 msgid "" "In normal usage, an embedding application will call this function *instead* " "of calling :c:func:`Py_Initialize`, :c:func:`Py_InitializeEx` or :c:func:" "`Py_InitializeFromConfig` directly, and all settings will be applied as " "described elsewhere in this documentation. If this function is instead " "called *after* a preceding runtime initialization API call, then exactly " "which environmental and command line configuration settings will be updated " "is version dependent (as it depends on which settings correctly support " "being modified after they have already been set once when the runtime was " "first initialized)." msgstr "" #: ../../c-api/interp-lifecycle.rst:536 msgid "Executes the main module in a fully configured CPython runtime." msgstr "" #: ../../c-api/interp-lifecycle.rst:538 msgid "" "Executes the command (:c:member:`PyConfig.run_command`), the script (:c:" "member:`PyConfig.run_filename`) or the module (:c:member:`PyConfig." "run_module`) specified on the command line or in the configuration. If none " "of these values are set, runs the interactive Python prompt (REPL) using the " "``__main__`` module's global namespace." msgstr "" #: ../../c-api/interp-lifecycle.rst:544 msgid "" "If :c:member:`PyConfig.inspect` is not set (the default), the return value " "will be ``0`` if the interpreter exits normally (that is, without raising an " "exception), the exit status of an unhandled :exc:`SystemExit`, or ``1`` for " "any other unhandled exception." msgstr "" #: ../../c-api/interp-lifecycle.rst:549 msgid "" "If :c:member:`PyConfig.inspect` is set (such as when the :option:`-i` option " "is used), rather than returning when the interpreter exits, execution will " "instead resume in an interactive Python prompt (REPL) using the ``__main__`` " "module's global namespace. If the interpreter exited with an exception, it " "is immediately raised in the REPL session. The function return value is then " "determined by the way the *REPL session* terminates: ``0``, ``1``, or the " "status of a :exc:`SystemExit`, as specified above." msgstr "" #: ../../c-api/interp-lifecycle.rst:557 msgid "" "This function always finalizes the Python interpreter before it returns." msgstr "" #: ../../c-api/interp-lifecycle.rst:559 msgid "" "See :ref:`Python Configuration ` for an example of a " "customized Python that always runs in isolated mode using :c:func:" "`Py_RunMain`." msgstr "" #: ../../c-api/interp-lifecycle.rst:565 msgid "" "Register an :mod:`atexit` callback for the target interpreter *interp*. This " "is similar to :c:func:`Py_AtExit`, but takes an explicit interpreter and " "data pointer for the callback." msgstr "" #: ../../c-api/interp-lifecycle.rst:569 msgid "There must be an :term:`attached thread state` for *interp*." msgstr "" #: ../../c-api/interp-lifecycle.rst:577 msgid "Cautions regarding runtime finalization" msgstr "" #: ../../c-api/interp-lifecycle.rst:579 msgid "" "In the late stage of :term:`interpreter shutdown`, after attempting to wait " "for non-daemon threads to exit (though this can be interrupted by :class:" "`KeyboardInterrupt`) and running the :mod:`atexit` functions, the runtime is " "marked as *finalizing*: :c:func:`Py_IsFinalizing` and :func:`sys." "is_finalizing` return true. At this point, only the *finalization thread* " "that initiated finalization (typically the main thread) is allowed to " "acquire the :term:`GIL`." msgstr "" #: ../../c-api/interp-lifecycle.rst:587 msgid "" "If any thread, other than the finalization thread, attempts to attach a :" "term:`thread state` during finalization, either explicitly or implicitly, " "the thread enters **a permanently blocked state** where it remains until the " "program exits. In most cases this is harmless, but this can result in " "deadlock if a later stage of finalization attempts to acquire a lock owned " "by the blocked thread, or otherwise waits on the blocked thread." msgstr "" #: ../../c-api/interp-lifecycle.rst:594 msgid "" "Gross? Yes. This prevents random crashes and/or unexpectedly skipped C++ " "finalizations further up the call stack when such threads were forcibly " "exited here in CPython 3.13 and earlier. The CPython runtime :term:`thread " "state` C APIs have never had any error reporting or handling expectations " "at :term:`thread state` attachment time that would've allowed for graceful " "exit from this situation. Changing that would require new stable C APIs and " "rewriting the majority of C code in the CPython ecosystem to use those with " "error handling." msgstr "" #: ../../c-api/interp-lifecycle.rst:604 msgid "Process-wide parameters" msgstr "" #: ../../c-api/interp-lifecycle.rst:613 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "program_name` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:617 msgid "" "This function should be called before :c:func:`Py_Initialize` is called for " "the first time, if it is called at all. It tells the interpreter the value " "of the ``argv[0]`` argument to the :c:func:`main` function of the program " "(converted to wide characters). This is used by :c:func:`Py_GetPath` and " "some other functions below to find the Python run-time libraries relative to " "the interpreter executable. The default value is ``'python'``. The " "argument should point to a zero-terminated wide character string in static " "storage whose contents will not change for the duration of the program's " "execution. No code in the Python interpreter will change the contents of " "this storage." msgstr "" #: ../../c-api/interp-lifecycle.rst:628 ../../c-api/interp-lifecycle.rst:877 #: ../../c-api/interp-lifecycle.rst:910 ../../c-api/interp-lifecycle.rst:936 msgid "" "Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:expr:" "`wchar_t*` string." msgstr "" #: ../../c-api/interp-lifecycle.rst:636 msgid "" "Return the program name set with :c:member:`PyConfig.program_name`, or the " "default. The returned string points into static storage; the caller should " "not modify its value." msgstr "" #: ../../c-api/interp-lifecycle.rst:640 ../../c-api/interp-lifecycle.rst:663 #: ../../c-api/interp-lifecycle.rst:711 ../../c-api/interp-lifecycle.rst:736 #: ../../c-api/interp-lifecycle.rst:763 ../../c-api/interp-lifecycle.rst:948 msgid "" "This function should not be called before :c:func:`Py_Initialize`, otherwise " "it returns ``NULL``." msgstr "" #: ../../c-api/interp-lifecycle.rst:643 ../../c-api/interp-lifecycle.rst:666 #: ../../c-api/interp-lifecycle.rst:714 ../../c-api/interp-lifecycle.rst:739 #: ../../c-api/interp-lifecycle.rst:768 ../../c-api/interp-lifecycle.rst:951 msgid "It now returns ``NULL`` if called before :c:func:`Py_Initialize`." msgstr "" #: ../../c-api/interp-lifecycle.rst:646 ../../c-api/interp-lifecycle.rst:742 msgid "" "Use :c:func:`PyConfig_Get(\"executable\") ` (:data:`sys." "executable`) instead." msgstr "" #: ../../c-api/interp-lifecycle.rst:653 msgid "" "Return the *prefix* for installed platform-independent files. This is " "derived through a number of complicated rules from the program name set " "with :c:member:`PyConfig.program_name` and some environment variables; for " "example, if the program name is ``'/usr/local/bin/python'``, the prefix is " "``'/usr/local'``. The returned string points into static storage; the caller " "should not modify its value. This corresponds to the :makevar:`prefix` " "variable in the top-level :file:`Makefile` and the :option:`--prefix` " "argument to the :program:`configure` script at build time. The value is " "available to Python code as ``sys.base_prefix``. It is only useful on Unix. " "See also the next function." msgstr "" #: ../../c-api/interp-lifecycle.rst:669 msgid "" "Use :c:func:`PyConfig_Get(\"base_prefix\") ` (:data:`sys." "base_prefix`) instead. Use :c:func:`PyConfig_Get(\"prefix\") ` " "(:data:`sys.prefix`) if :ref:`virtual environments ` need to be " "handled." msgstr "" #: ../../c-api/interp-lifecycle.rst:678 msgid "" "Return the *exec-prefix* for installed platform-*dependent* files. This is " "derived through a number of complicated rules from the program name set " "with :c:member:`PyConfig.program_name` and some environment variables; for " "example, if the program name is ``'/usr/local/bin/python'``, the exec-prefix " "is ``'/usr/local'``. The returned string points into static storage; the " "caller should not modify its value. This corresponds to the :makevar:" "`exec_prefix` variable in the top-level :file:`Makefile` and the ``--exec-" "prefix`` argument to the :program:`configure` script at build time. The " "value is available to Python code as ``sys.base_exec_prefix``. It is only " "useful on Unix." msgstr "" #: ../../c-api/interp-lifecycle.rst:689 msgid "" "Background: The exec-prefix differs from the prefix when platform dependent " "files (such as executables and shared libraries) are installed in a " "different directory tree. In a typical installation, platform dependent " "files may be installed in the :file:`/usr/local/plat` subtree while platform " "independent may be installed in :file:`/usr/local`." msgstr "" #: ../../c-api/interp-lifecycle.rst:695 msgid "" "Generally speaking, a platform is a combination of hardware and software " "families, e.g. Sparc machines running the Solaris 2.x operating system are " "considered the same platform, but Intel machines running Solaris 2.x are " "another platform, and Intel machines running Linux are yet another " "platform. Different major revisions of the same operating system generally " "also form different platforms. Non-Unix operating systems are a different " "story; the installation strategies on those systems are so different that " "the prefix and exec-prefix are meaningless, and set to the empty string. " "Note that compiled Python bytecode files are platform independent (but not " "independent from the Python version by which they were compiled!)." msgstr "" #: ../../c-api/interp-lifecycle.rst:706 msgid "" "System administrators will know how to configure the :program:`mount` or :" "program:`automount` programs to share :file:`/usr/local` between platforms " "while having :file:`/usr/local/plat` be a different filesystem for each " "platform." msgstr "" #: ../../c-api/interp-lifecycle.rst:717 msgid "" "Use :c:func:`PyConfig_Get(\"base_exec_prefix\") ` (:data:`sys." "base_exec_prefix`) instead. Use :c:func:`PyConfig_Get(\"exec_prefix\") " "` (:data:`sys.exec_prefix`) if :ref:`virtual environments " "` need to be handled." msgstr "" #: ../../c-api/interp-lifecycle.rst:730 msgid "" "Return the full program name of the Python executable; this is computed as " "a side-effect of deriving the default module search path from the program " "name (set by :c:member:`PyConfig.program_name`). The returned string points " "into static storage; the caller should not modify its value. The value is " "available to Python code as ``sys.executable``." msgstr "" #: ../../c-api/interp-lifecycle.rst:753 msgid "" "Return the default module search path; this is computed from the program " "name (set by :c:member:`PyConfig.program_name`) and some environment " "variables. The returned string consists of a series of directory names " "separated by a platform dependent delimiter character. The delimiter " "character is ``':'`` on Unix and macOS, ``';'`` on Windows. The returned " "string points into static storage; the caller should not modify its value. " "The list :data:`sys.path` is initialized with this value on interpreter " "startup; it can be (and usually is) modified later to change the search path " "for loading modules." msgstr "" #: ../../c-api/interp-lifecycle.rst:771 msgid "" "Use :c:func:`PyConfig_Get(\"module_search_paths\") ` (:data:" "`sys.path`) instead." msgstr "" #: ../../c-api/interp-lifecycle.rst:777 msgid "" "Return the version of this Python interpreter. This is a string that looks " "something like ::" msgstr "" #: ../../c-api/interp-lifecycle.rst:780 msgid "\"3.0a5+ (py3k:63103M, May 12 2008, 00:53:55) \\n[GCC 4.2.3]\"" msgstr "" #: ../../c-api/interp-lifecycle.rst:784 msgid "" "The first word (up to the first space character) is the current Python " "version; the first characters are the major and minor version separated by a " "period. The returned string points into static storage; the caller should " "not modify its value. The value is available to Python code as :data:`sys." "version`." msgstr "" #: ../../c-api/interp-lifecycle.rst:789 msgid "See also the :c:var:`Py_Version` constant." msgstr "" #: ../../c-api/interp-lifecycle.rst:796 msgid "" "Return the platform identifier for the current platform. On Unix, this is " "formed from the \"official\" name of the operating system, converted to " "lower case, followed by the major revision number; e.g., for Solaris 2.x, " "which is also known as SunOS 5.x, the value is ``'sunos5'``. On macOS, it " "is ``'darwin'``. On Windows, it is ``'win'``. The returned string points " "into static storage; the caller should not modify its value. The value is " "available to Python code as ``sys.platform``." msgstr "" #: ../../c-api/interp-lifecycle.rst:807 msgid "" "Return the official copyright string for the current Python version, for " "example" msgstr "" #: ../../c-api/interp-lifecycle.rst:809 msgid "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``" msgstr "" #: ../../c-api/interp-lifecycle.rst:813 msgid "" "The returned string points into static storage; the caller should not modify " "its value. The value is available to Python code as ``sys.copyright``." msgstr "" #: ../../c-api/interp-lifecycle.rst:819 msgid "" "Return an indication of the compiler used to build the current Python " "version, in square brackets, for example::" msgstr "" #: ../../c-api/interp-lifecycle.rst:822 msgid "\"[GCC 2.7.2.2]\"" msgstr "" #: ../../c-api/interp-lifecycle.rst:826 ../../c-api/interp-lifecycle.rst:840 msgid "" "The returned string points into static storage; the caller should not modify " "its value. The value is available to Python code as part of the variable " "``sys.version``." msgstr "" #: ../../c-api/interp-lifecycle.rst:833 msgid "" "Return information about the sequence number and build date and time of the " "current Python interpreter instance, for example ::" msgstr "" #: ../../c-api/interp-lifecycle.rst:836 msgid "\"#67, Aug 1 1997, 22:34:28\"" msgstr "" #: ../../c-api/interp-lifecycle.rst:852 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "argv`, :c:member:`PyConfig.parse_argv` and :c:member:`PyConfig.safe_path` " "should be used instead, see :ref:`Python Initialization Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:857 msgid "" "Set :data:`sys.argv` based on *argc* and *argv*. These parameters are " "similar to those passed to the program's :c:func:`main` function with the " "difference that the first entry should refer to the script file to be " "executed rather than the executable hosting the Python interpreter. If " "there isn't a script that will be run, the first entry in *argv* can be an " "empty string. If this function fails to initialize :data:`sys.argv`, a " "fatal condition is signalled using :c:func:`Py_FatalError`." msgstr "" #: ../../c-api/interp-lifecycle.rst:865 msgid "" "If *updatepath* is zero, this is all the function does. If *updatepath* is " "non-zero, the function also modifies :data:`sys.path` according to the " "following algorithm:" msgstr "" #: ../../c-api/interp-lifecycle.rst:869 msgid "" "If the name of an existing script is passed in ``argv[0]``, the absolute " "path of the directory where the script is located is prepended to :data:`sys." "path`." msgstr "" #: ../../c-api/interp-lifecycle.rst:872 msgid "" "Otherwise (that is, if *argc* is ``0`` or ``argv[0]`` doesn't point to an " "existing file name), an empty string is prepended to :data:`sys.path`, which " "is the same as prepending the current working directory (``\".\"``)." msgstr "" #: ../../c-api/interp-lifecycle.rst:880 ../../c-api/interp-lifecycle.rst:913 msgid "" "See also :c:member:`PyConfig.orig_argv` and :c:member:`PyConfig.argv` " "members of the :ref:`Python Initialization Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:884 msgid "" "It is recommended that applications embedding the Python interpreter for " "purposes other than executing a single script pass ``0`` as *updatepath*, " "and update :data:`sys.path` themselves if desired. See :cve:`2008-5983`." msgstr "" #: ../../c-api/interp-lifecycle.rst:889 msgid "" "On versions before 3.1.3, you can achieve the same effect by manually " "popping the first :data:`sys.path` element after having called :c:func:" "`PySys_SetArgv`, for example using::" msgstr "" #: ../../c-api/interp-lifecycle.rst:893 msgid "PyRun_SimpleString(\"import sys; sys.path.pop(0)\\n\");" msgstr "" #: ../../c-api/interp-lifecycle.rst:902 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "argv` and :c:member:`PyConfig.parse_argv` should be used instead, see :ref:" "`Python Initialization Configuration `." msgstr "" #: ../../c-api/interp-lifecycle.rst:906 msgid "" "This function works like :c:func:`PySys_SetArgvEx` with *updatepath* set to " "``1`` unless the :program:`python` interpreter was started with the :option:" "`-I`." msgstr "" #: ../../c-api/interp-lifecycle.rst:916 msgid "The *updatepath* value depends on :option:`-I`." msgstr "" #: ../../c-api/interp-lifecycle.rst:923 msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "home` should be used instead, see :ref:`Python Initialization Configuration " "`." msgstr "" #: ../../c-api/interp-lifecycle.rst:927 msgid "" "Set the default \"home\" directory, that is, the location of the standard " "Python libraries. See :envvar:`PYTHONHOME` for the meaning of the argument " "string." msgstr "" #: ../../c-api/interp-lifecycle.rst:931 msgid "" "The argument should point to a zero-terminated character string in static " "storage whose contents will not change for the duration of the program's " "execution. No code in the Python interpreter will change the contents of " "this storage." msgstr "" #: ../../c-api/interp-lifecycle.rst:944 msgid "" "Return the default \"home\", that is, the value set by :c:member:`PyConfig." "home`, or the value of the :envvar:`PYTHONHOME` environment variable if it " "is set." msgstr "" #: ../../c-api/interp-lifecycle.rst:954 msgid "" "Use :c:func:`PyConfig_Get(\"home\") ` or the :envvar:" "`PYTHONHOME` environment variable instead." msgstr "" #: ../../c-api/interp-lifecycle.rst:357 msgid "PyEval_InitThreads()" msgstr "" #: ../../c-api/interp-lifecycle.rst:357 msgid "modules (in module sys)" msgstr "" #: ../../c-api/interp-lifecycle.rst:357 ../../c-api/interp-lifecycle.rst:749 msgid "path (in module sys)" msgstr "" #: ../../c-api/interp-lifecycle.rst:357 ../../c-api/interp-lifecycle.rst:749 msgid "module" msgstr "" #: ../../c-api/interp-lifecycle.rst:357 msgid "builtins" msgstr "" #: ../../c-api/interp-lifecycle.rst:357 msgid "__main__" msgstr "" #: ../../c-api/interp-lifecycle.rst:357 msgid "sys" msgstr "" #: ../../c-api/interp-lifecycle.rst:357 ../../c-api/interp-lifecycle.rst:749 msgid "search" msgstr "" #: ../../c-api/interp-lifecycle.rst:357 ../../c-api/interp-lifecycle.rst:749 msgid "path" msgstr "" #: ../../c-api/interp-lifecycle.rst:357 msgid "Py_FinalizeEx (C function)" msgstr "" #: ../../c-api/interp-lifecycle.rst:608 msgid "Py_Initialize()" msgstr "" #: ../../c-api/interp-lifecycle.rst:608 ../../c-api/interp-lifecycle.rst:847 msgid "main()" msgstr "" #: ../../c-api/interp-lifecycle.rst:608 msgid "Py_GetPath()" msgstr "" #: ../../c-api/interp-lifecycle.rst:727 msgid "executable (in module sys)" msgstr "" #: ../../c-api/interp-lifecycle.rst:782 ../../c-api/interp-lifecycle.rst:824 #: ../../c-api/interp-lifecycle.rst:838 msgid "version (in module sys)" msgstr "" #: ../../c-api/interp-lifecycle.rst:794 msgid "platform (in module sys)" msgstr "" #: ../../c-api/interp-lifecycle.rst:811 msgid "copyright (in module sys)" msgstr "" #: ../../c-api/interp-lifecycle.rst:847 msgid "Py_FatalError()" msgstr "" #: ../../c-api/interp-lifecycle.rst:847 msgid "argv (in module sys)" msgstr ""