Ala*_*lan 33 distutils python-3.x
根据PEP 632,distutils将被正式标记为已弃用,并且在 Python 3.12 中,它将被删除。我的产品很快就会支持 Python 3.10,我不想忍受弃用警告,所以我想删除现在的引用distutils。问题是我找不到好的、全面的文档来系统地让我知道distutils模块 C、D 和 E 中的 A 可以替换为 B。 PEP 中的迁移建议出人意料地粗略,我还没有\没有找到 的标准文档,或者任何需要替换的distutils模块(例如?)的标准文档,这可以让我填补空白。我也不确定如何查看已安装的标准发行版的内容(即物理目录和文件)以便为自己回答这些问题。setuptoolsdistutils
“迁移建议”部分说:
\n\n\n对于这些模块或类型,
\nsetuptools是最好的替代品:\n
\n- \n
distutils.ccompiler- \n
distutils.cmd.Command- \n
distutils.command- \n
distutils.config- \n
distutils.core.Distribution- \n
distutils.errors...
\n对于这些模块或函数,请使用所示的标准库模块:
\n...
\n\n
\n- \n
distutils.util.get_platform\xe2\x80\x94 使用platform模块
据推测,这意味着setuptools这些模块或类型要么有直接替代品,要么有接近的替代品(尽管我不确定如何验证这一点)。例如,也许setuptools.command.build_py可以替换distutils.command.build_py. 那是对的吗?无论如何,这些又如何呢?
distutils.core.setupdistutils.core.Extension此外,我应该如何看待它setuptools没有出现在标准文档的模块或索引列表下的事实?它是标准发行版的一部分,对吗?我确实在下面看到了它Lib/site-packages。
更新 1:如果setuptools当前不是标准发行版的一部分,那么它是否有望成为 Python 3.11 或 3.12 中的一部分?客户是否希望先安装它(通过 pip?),然后才能运行导入的 setup.py 脚本setuptools?或者认为人们根本不应该再运行 setup.py?
知道如何替换distutils.core.setupanddistutils.core.Extension可能足以满足我当前的需求,但回答我提出的其他问题将非常有帮助。
更新2:
\nsetuptools确实是 python.org 标准发行版的一部分,可以通过从 python.org 新安装的 Python 解释器导入它来确定。让我感到困惑的是,它是在 python.org 的一个单独的站点上以单独的样式记录的。然而,正如 SuperStormer 在评论中指出的那样,某些 Linux 发行版(例如 Debian)在安装 Python 时默认不安装它。
更新3:
\n这个命令:
\nPython-3.9.1/python -m ensurepip --default-pip \nRun Code Online (Sandbox Code Playgroud)\n在 Debian 10 上,在从 python.org 新鲜下载并构建的 Python 安装上安装pip和。setuptools命令执行前,pip不存在,setuptools无法导入。
| 归档时间: |
|
| 查看次数: |
31744 次 |
| 最近记录: |