در انتظار حذف در پایتون 3.15¶
تابع
PyImport_ImportModuleNoBlock(): بهجای آن ازPyImport_ImportModule()استفاده کنید.PyWeakref_GetObject()وPyWeakref_GET_OBJECT(): بهجای آنها ازPyWeakref_GetRef()استفاده کنید. میتوان از پروژهی pythoncapi-compat برای دسترسی بهPyWeakref_GetRef()در پایتون 3.12 و نسخههای قدیمیتر استفاده کرد.نوع
Py_UNICODEو ماکروPy_UNICODE_WIDE: بهجای آنها ازwchar_tاستفاده کنید.PyUnicode_AsDecodedObject(): بهجای آن ازPyCodec_Decode()استفاده کنید.PyUnicode_AsDecodedUnicode(): بهجای آن ازPyCodec_Decode()استفاده کنید؛ توجه داشته باشید که برخی کدکها (مثلاً "base64") ممکن است نوعی غیر ازstr، مانندbytes، برگردانند.PyUnicode_AsEncodedObject(): بهجای آن ازPyCodec_Encode()استفاده کنید.PyUnicode_AsEncodedUnicode(): بهجای آن ازPyCodec_Encode()استفاده کنید؛ توجه داشته باشید که برخی کدکها (مثلاً "base64") ممکن است نوعی غیر ازbytes، مانندstr، بازگردانند.توابع مقداردهی اولیه پایتون، منسوخشده در پایتون 3.13:
Py_GetPath(): بهجای آن ازPyConfig_Get("module_search_paths")(sys.path) استفاده کنید.Py_GetPrefix(): بهجای آن ازPyConfig_Get("base_prefix")(sys.base_prefix) استفاده کنید. اگر لازم باشد محیطهای مجازی مدیریت شوند، ازPyConfig_Get("prefix")(sys.prefix) استفاده کنید.Py_GetExecPrefix(): به جای آن ازPyConfig_Get("base_exec_prefix")(sys.base_exec_prefix) استفاده کنید. اگر نیاز به مدیریت محیطهای مجازی باشد، ازPyConfig_Get("exec_prefix")(sys.exec_prefix) استفاده کنید.Py_GetProgramFullPath(): به جای آن ازPyConfig_Get("executable")(sys.executable) استفاده کنید.Py_GetProgramName(): به جای آن ازPyConfig_Get("executable")(sys.executable) استفاده کنید.Py_GetPythonHome(): به جای آن ازPyConfig_Get("home")یا متغیر محیطیPYTHONHOMEاستفاده کنید.
میتوان از پروژهی pythoncapi-compat برای دسترسی به
PyConfig_Get()در پایتون 3.13 و قدیمیتر استفاده کرد.توابعی برای پیکربندی راهاندازی پایتون، که در پایتون 3.11 منسوخ شدهاند:
PySys_SetArgvEx(): به جای آن،PyConfig.argvرا تنظیم کنید.PySys_SetArgv(): بهجای آن،PyConfig.argvرا تنظیم کنید.Py_SetProgramName(): به جای آن،PyConfig.program_nameرا تنظیم کنید.Py_SetPythonHome(): بهجای آن،PyConfig.homeرا تنظیم کنید.PySys_ResetWarnOptions(): بهجای آن،sys.warnoptionsوwarnings.filtersرا پاک کنید.
بهجای آن، باید از API
Py_InitializeFromConfig()به همراهPyConfigاستفاده کرد.متغیرهای پیکربندی سراسری:
Py_DebugFlag: بهجای آن ازPyConfig.parser_debugیاPyConfig_Get("parser_debug")استفاده کنید.Py_VerboseFlag: بهجای آن ازPyConfig.verboseیاPyConfig_Get("verbose")استفاده کنید.Py_QuietFlag: به جای آن ازPyConfig.quietیاPyConfig_Get("quiet")استفاده کنید.Py_InteractiveFlag: به جای آن ازPyConfig.interactiveیاPyConfig_Get("interactive")استفاده کنید.Py_InspectFlag: بهجای آن ازPyConfig.inspectیاPyConfig_Get("inspect")استفاده کنید.Py_OptimizeFlag: به جای آن ازPyConfig.optimization_levelیاPyConfig_Get("optimization_level")استفاده کنید.Py_NoSiteFlag: به جای آن ازPyConfig.site_importیاPyConfig_Get("site_import")استفاده کنید.Py_BytesWarningFlag: بهجای آن ازPyConfig.bytes_warningیاPyConfig_Get("bytes_warning")استفاده کنید.Py_FrozenFlag: بهجای آن ازPyConfig.pathconfig_warningsیاPyConfig_Get("pathconfig_warnings")استفاده کنید.Py_IgnoreEnvironmentFlag: بهجای آن ازPyConfig.use_environmentیاPyConfig_Get("use_environment")استفاده کنید.Py_DontWriteBytecodeFlag: به جای آن ازPyConfig.write_bytecodeیاPyConfig_Get("write_bytecode")استفاده کنید.Py_NoUserSiteDirectory: بهجای آن ازPyConfig.user_site_directoryیاPyConfig_Get("user_site_directory")استفاده کنید.Py_UnbufferedStdioFlag: به جای آن ازPyConfig.buffered_stdioیاPyConfig_Get("buffered_stdio")استفاده کنید.Py_HashRandomizationFlag: به جای آن ازPyConfig.use_hash_seedوPyConfig.hash_seedیاPyConfig_Get("hash_seed")استفاده کنید.Py_IsolatedFlag: بهجای آن ازPyConfig.isolatedیاPyConfig_Get("isolated")استفاده کنید.Py_LegacyWindowsFSEncodingFlag: بهجای آن ازPyPreConfig.legacy_windows_fs_encodingیاPyConfig_Get("legacy_windows_fs_encoding")استفاده کنید.Py_LegacyWindowsStdioFlag: به جای آن ازPyConfig.legacy_windows_stdioیاPyConfig_Get("legacy_windows_stdio")استفاده کنید.Py_FileSystemDefaultEncoding،Py_HasFileSystemDefaultEncoding: به جای آنها ازPyConfig.filesystem_encodingیاPyConfig_Get("filesystem_encoding")استفاده کنید.Py_FileSystemDefaultEncodeErrors: به جای آن ازPyConfig.filesystem_errorsیاPyConfig_Get("filesystem_errors")استفاده کنید.Py_UTF8Mode: بهجای آن ازPyPreConfig.utf8_modeیاPyConfig_Get("utf8_mode")استفاده کنید. (بهPy_PreInitialize()مراجعه کنید)
برای تنظیم این گزینهها باید از API
Py_InitializeFromConfig()به همراهPyConfigاستفاده شود. یا میتوان ازPyConfig_Get()برای دریافت این گزینهها در رانتایم استفاده کرد.