簡體   English   中英

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

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

顯然,Python 3.10 / 3.12 將棄用/刪除 distutils。

不幸的是,我一直無法找到我正在使用的唯一一個 function 的替代品; distutils.util.get_platform() 這個有什么替代品?

請注意, platform不是答案。 我需要一個 function 返回構建二進制輪時使用的完整字符串¹,例如macosx-12-x86_64 請特別注意,其中似乎嵌入了特定於平台的邏輯(例如,我知道獲取 macos 版本的唯一其他方法是使用特定於 macos 的 API)。

(¹ 如評論中所述,嚴格來說, distutils.util.get_platform()不是 function。但是, PEP 425指定“平台標簽只是distutils.util.get_platform()和所有連字符-和句點.替換為下划線_ 。”因此,從distutils.util.get_platform()派生標簽是直接且與平台無關的。因此,可接受的答案可能會給出一個已批准的公共 API,它直接生成平台標簽,或者distutils.util.get_platform()的兼容替代品。)

對於您的用例, sysconfig有一個替代品

import sysconfig
sysconfig.get_platform()

這是 wheel 項目本身在從Replaced all uses of distutils with setuptools #428中的代碼中刪除 distutils 時用作distutils.util.get_platform()的替代品。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM