直譯器的初始化與終結化¶
關於如何在初始化之前設定直譯器的細節,請參見 Python 初始化設定。
Python 初始化之前¶
In an application embedding Python, the Py_Initialize() function must
be called before using any other Python/C API functions; with the exception of
a few functions and the global configuration variables.
The following functions can be safely called before Python is initialized:
Functions that initialize the interpreter:
the runtime pre-initialization functions covered in Python 初始化設定
Configuration functions:
PyInitFrozenExtensions()the configuration functions covered in Python 初始化設定
Informative functions:
Utilities:
the status reporting and utility functions covered in Python 初始化設定
Memory allocators:
Synchronization:
備註
Despite their apparent similarity to some of the functions listed above,
the following functions should not be called before the interpreter has
been initialized: Py_EncodeLocale(), PyEval_InitThreads(), and
Py_RunMain().
Global configuration variables¶
Python has variables for the global configuration to control different features and options. By default, these flags are controlled by command line options.
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 Py_BytesWarningFlag
to 1 and -bb sets Py_BytesWarningFlag to 2.
-
int Py_BytesWarningFlag¶
This API is kept for backward compatibility: setting
PyConfig.bytes_warningshould be used instead, see Python Initialization Configuration.Issue a warning when comparing
bytesorbytearraywithstrorbyteswithint. Issue an error if greater or equal to2.由
-b選項設定。自從版本 3.12 後不推薦使用,將會自版本 3.15 中移除。.
-
int Py_DebugFlag¶
This API is kept for backward compatibility: setting
PyConfig.parser_debugshould be used instead, see Python Initialization Configuration.Turn on parser debugging output (for expert only, depending on compilation options).
由
-d選項與PYTHONDEBUG環境變數設定。自從版本 3.12 後不推薦使用,將會自版本 3.15 中移除。.
-
int Py_DontWriteBytecodeFlag¶
This API is kept for backward compatibility: setting
PyConfig.write_bytecodeshould be used instead, see Python Initialization Configuration.If set to non-zero, Python won't try to write
.pycfiles on the import of source modules.由
-B選項與PYTHONDONTWRITEBYTECODE環境變數設定。自從版本 3.12 後不推薦使用,將會自版本 3.15 中移除。.
-
int Py_FrozenFlag¶
This API is kept for backward compatibility: setting
PyConfig.pathconfig_warningsshould be used instead, see Python Initialization Configuration.Private flag used by
_freeze_moduleandfrozenmainprograms.自從版本 3.12 後不推薦使用,將會自版本 3.15 中移除。.
-
int Py_HashRandomizationFlag¶
This API is kept for backward compatibility: setting
PyConfig.hash_seedandPyConfig.use_hash_seedshould be used instead, see Python Initialization Configuration.如果環境變數
PYTHONHASHSEED被設定為一個非空字串則設為1。If the flag is non-zero, read the
PYTHONHASHSEEDenvironment variable to initialize the secret hash seed.自從版本 3.12 後不推薦使用,將會自版本 3.15 中移除。.
-
int Py_IgnoreEnvironmentFlag¶
This API is kept for backward compatibility: setting
PyConfig.use_environmentshould be used instead, see Python Initialization Configuration.忽略所有可能被設定的
PYTHON*環境變數,例如PYTHONPATH與PYTHONHOME。自從版本 3.12 後不推薦使用,將會自版本 3.15 中移除。.
-
int Py_InspectFlag¶
This API is kept for backward compatibility: setting
PyConfig.inspectshould be used instead, see Python Initialization Configuration.When a script is passed as first argument or the
-coption is used, enter interactive mode after executing the script or the command, even whensys.stdindoes not appear to be a terminal.由
-i選項與PYTHONINSPECT環境變數設定。自從版本 3.12 後不推薦使用,將會自版本 3.15 中移除。.
-
int Py_InteractiveFlag¶