Oczekujące na usunięcie w Python 3.15¶
The
PyImport_ImportModuleNoBlock(): UsePyImport_ImportModule()instead.PyWeakref_GetObject()andPyWeakref_GET_OBJECT(): UsePyWeakref_GetRef()instead. The pythoncapi-compat project can be used to getPyWeakref_GetRef()on Python 3.12 and older.Py_UNICODEtype and thePy_UNICODE_WIDEmacro: Usewchar_tinstead.PyUnicode_AsDecodedObject(): używaj w zamianPyCodec_Decode().PyUnicode_AsDecodedUnicode(): używaj w zamianPyCodec_Decode(); należy pamiętać, że niektóre kodeki (na przykład „base64”) mogą zwracać typ inny niżstr, taki jakbytes.PyUnicode_AsEncodedObject(): używaj w zamianPyCodec_Encode().PyUnicode_AsEncodedUnicode(): używaj w zamianPyCodec_Encode(); zwróć uwagę, że niektóre kodeki (na przykład „base64”) mogą zwracać typ inny niżbytes, taki jakstr.Funkcje inicjalizacyjne języka Python, przestarzałe w Python 3.13:
Py_GetPath(): UsePyConfig_Get("module_search_paths")(sys.path) instead.Py_GetPrefix(): UsePyConfig_Get("base_prefix")(sys.base_prefix) instead. UsePyConfig_Get("prefix")(sys.prefix) if virtual environments need to be handled.Py_GetExecPrefix(): UsePyConfig_Get("base_exec_prefix")(sys.base_exec_prefix) instead. UsePyConfig_Get("exec_prefix")(sys.exec_prefix) if virtual environments need to be handled.Py_GetProgramFullPath(): UsePyConfig_Get("executable")(sys.executable) instead.Py_GetProgramName(): UsePyConfig_Get("executable")(sys.executable) instead.Py_GetPythonHome(): UsePyConfig_Get("home")or thePYTHONHOMEenvironment variable instead.
Projektu python api-compat można użyć do uruchomienia
PyConfig_Get()w Pythonie w wersji 3.13 i starszych.Funkcje do konfiguracji Pythona,inicjalizacja przestarzały w Python 3.11:
PySys_SetArgvEx(): ustawiaj w zamianPyConfig.argv.PySys_SetArgv(): ustawiaj w zamianPyConfig.argv.Py_SetProgramName(): ustawiaj w zamianPyConfig.program_name.Py_SetPythonHome(): SetPyConfig.homeinstead.PySys_ResetWarnOptions(): Clearsys.warnoptionsandwarnings.filtersinstead.
API
Py_InitializeFromConfig()należy w zamian używać zPyConfig.Globalne zmienne konfiguracyjne:
Py_DebugFlag: używajPyConfig.parser_debuglubPyConfig_Get("parser_debug")w zamian.Py_VerboseFlag:używaćPyConfig.verboseor :c:func:`PyConfig_Get(„verbose”) <PyConfig_Get> ` zamiast.Py_QuietFlag: Zamiast tego użyjPyConfig.quietPyConfig_Get("quiet") '» .<PyConfig_Get> `ZamiastPy_InteractiveFlag: używaćPyConfig.interactivelubPyConfig_Get("interaktywny") '» <PyConfig_Get> Zamiast.Py_InspectFlag: używaćPyConfig.inspectPyConfig_Get("inspect")zamiast tego.Py_OptimizeFlagUżywaćPyConfig.optimization_levellubPyConfig_Get("optimization_level")zamiast tego.Py_NoSiteFlag: używajPyConfig.site_importlubPyConfig_Get("site_import")w zamian.Py_BytesWarningFlag: używaćPyConfig.bytes_warninglub :c:func:`PyConfig_Get(„bytes_warning”) <PyConfig_Get> zamiast tego.Py_FrozenFlag: używaćPyConfig.pathconfig_warningslub:PyConfig_Get("pathconfig_warnings") '» <PyConfig_Get> Zamiast.Py_IgnoreEnvironmentFlag: używaćPyConfig.use_environmentlubPyConfig_Get("use_environment") '» <PyConfig_Get> zamiast tego.Py_DontWriteBytecodeFlag: UsePyConfig.write_bytecodeorPyConfig_Get("write_bytecode")instead.Py_NoUserSiteDirectory: używaćPyConfig.user_site_directorylubPyConfig_Get("user_site_directory") '» <PyConfig_Get> zamiast tego.Py_UnbufferedStdioFlag: zastąpPyConfig.buffered_stdiolubPyConfig_Get("buffered_stdio").Py_HashRandomizationFlag: UżywaćPyConfig.use_hash_seedIPyConfig.hash_seedor :c:func:`PyConfig_Get(„hash_seed”) <PyConfig_Get> zamiast tego.Py_IsolatedFlag:używać:c:member:`PyConfig.isolated` lubPyConfig_Get '»(„isolated”)<PyConfig_Get> `zamiast tego.Py_LegacyWindowsFSEncodingFlag: używaćPyPreConfig.legacy_windows_fs_encodinglubPyConfig_Get("legacy_windows_fs_encoding") '»<PyConfig_Get> `zamiast tego.Py_LegacyWindowsStdioFlag: zastąpPyConfig.legacy_windows_stdiolubPyConfig_Get("legacy_windows_stdio").Py_FileSystemDefaultEncoding,:c:var:!Py_HasFileSystemDefaultEncoding: używaćPyConfig.filesystem_encoding`lub '» :c:func:`PyConfig_Get(„filesystem_encoding”) <PyConfig_Get>zamiast tego.Py_FileSystemDefaultEncodeErrors: używaćPyConfig.filesystem_errorslub :c:func:`PyConfig_Get(„filesystem_errors”) <PyConfig_Get>`zamiast tego.Py_UTF8Mode: używaćPyPreConfig.utf8_modelubPyConfig_Get("utf8_mode")zamiast tego (Widzieć:c:func:Py_PreInitialize)
The:c:func:Py_InitializeFromConfig API należy używać z:c:type:PyConfig`aby ustawić te opcje. Można:c:func:`PyConfig_Get też użyć tego polecenia, aby uzyskać te opcje w czasie wykonywania.