【发布时间】:2019-09-08 09:24:40
【问题描述】:
假设 Python 应用程序依赖于一个模块,并且该模块在 setup.py 的分类元数据中仅声明了“Programming Language :: Python :: 3.5”,那么该应用程序是否可以声明不同版本的 Python 解释器(例如,“Programming语言 :: Python :: 3.7" 在它自己的 setup.py 中?
我在打包自己的 Python3 应用程序时意识到了这个问题,我希望为此支持所有最新的 Python3 版本。该应用程序依赖于 wcwidth 模块 (https://pypi.org/project/wcwidth/)。 Wcwidth 模块在其编程语言支持中仅列出了“Python :: 3.4”和“Python :: 3.5”。所以我想知道如果我在使用 Python3.7 解释器时运行“pip install”会怎样?我虽然会失败,但事实证明安装工作正常,因为 pip 下载了 wcwidth 源并在我的机器上编译了它。
所以看起来 pip 在安装包时根本没有真正检查分类器?
【问题讨论】:
-
正如您已经指出的,它(只是)元数据。例如,这将显示在 PyPI 上。
-
@KlausD。谢谢你的提示。在我看来,这是一个非常令人困惑的功能。
标签: python pip setuptools