distutils.util.get_platform() 的替代品是什么?

What is the replacement for distutils.util.get_platform()?

显然,Python 3.10 / 3.12 将弃用/删除 distutils。

不幸的是,我无法从中找到我正在使用的唯一功能的替代品; distutils.util.get_platform()。用什么代替它?

请注意 platform 不是 的答案。我需要一个 returns 构建二元轮时使用的完整字符串的函数¹,例如macosx-12-x86_64。请特别注意,其中似乎嵌入了特定于平台的逻辑(例如,我知道获得 macos 版本的唯一其他方法是使用特定于 macos 的 API)。

(¹ 如评论中所述,严格来说,distutils.util.get_platform() 不是该功能。但是,PEP 425 指定“平台标签只是 distutils.util.get_platform() 和所有连字符- 和句点 . 替换为下划线 _。”因此,从 distutils.util.get_platform() 派生标签是直接且与平台无关的。因此,可接受的答案可能是已批准的 public API 直接生成平台标签, distutils.util.get_platform() 的兼容替代品。)

对于你的use-case,sysconfig有替代品

import sysconfig
sysconfig.get_platform()

当从 Replaced all uses of distutils with setuptools #428.

中的代码中删除 distutils 时,这就是 wheel 项目本身用来替代 distutils.util.get_platform() 的东西