提供支持给定Python版本和平台的最旧NumPy的元包。如果平台的控制盘在PyPI上仅适用于较新的NumPy版本,则指定该NumPy版本。

oldest-supported-nump的Python项目详细描述


PyPI

关于

这是一个可以在pyproject.toml文件中使用的元包 自动提供最旧版本作为生成时依赖项 支持给定Python版本和平台的Numpy。万一 对于Numpy预装轮子的平台,提供的版本 也有一个预制构件车轮。在

使用最旧的可用Numpy版本作为构建时的原因 依赖性是因为ABI兼容性。用旧代码编译的二进制文件 Numpy版本与新的Numpy版本是二进制兼容的,但是 反之亦然。这个元包的存在就是为了处理这个问题 更方便,无需手动在 所有需要它的包裹。在

换句话说:

[build-system]requires=["wheel","setuptools","numpy==1.13.3; python_version=='3.5'","numpy==1.13.3; python_version=='3.6'","numpy==1.14.5; python_version=='3.7'",# more numpy requirements...]

可替换为:

^{pr2}$

而且随着新的Python版本的发布,pyproject.toml文件没有 需要更新。在

问答

为什么在这个存储库中使用install\u requires定义Numpy固定?

Numpy版本固定在setup.cfg文件中定义为 install_requires依赖项,而不是作为生成时依赖项 在pyproject.toml内。这是故意的,因为纽比实际上不是 需要生成oldest支持的numpy的轮子。我们需要什么 确保在oldest supported numpy安装到 使用它的包的构建环境,Numpy也会被安装 作为生成环境中的runtime依赖项。在

另一种思考方式是,既然我们只发布(通用) oldest支持numpy的轮子,该轮子不包含pyproject.tomlsetup.cfg,或setup.py代码-它只包含元数据,包括 当oldest supported numpy为 安装。在

如果我的软件包需要最新版本的Numpy,我可以使用这个吗?

在许多情况下,即使您的包可能需要 新版本比这里的固定版本要新,这个 通常是运行时的要求,即运行(而不是 建筑)你的包裹。在很多情况下,除非使用 特性的Numpy C API,您仍然可以构建 使用旧版本的Numpy打包,因此您仍将 能够使用oldest支持的numpy。你仍然可以强制 install_requires

给这个包起个更吸引人的名字怎么样?

当前的名称不像包名那样引人注意,但是 很有描述性。此软件包仅用于 pyproject.toml文件,用于定义生成时依赖项, 所以有一个描述性的名字比一个吸引人的名字更重要!在

如果我认为其中一个是错误的或过时了呢?

请随时open an issue 或者,如果你认为有问题或者可以改进的话,请求拉取!在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从应用程序中的环境变量构造URL。性质   java代码中的Android按钮背景图像   java方法_jspService(HttpServletRequest,HttpServletResponse)的代码超过了weblogic 12.2中的65535字节限制   在Android中创建xml文件时出现java错误   java更新AVL树问题   java初学者,使用导航抽屉切换时维护片段状态   java m2e仍然给出一个错误,称“生命周期配置未涵盖插件执行”,即使自定义插件中有显式绑定   java,swing;用于创建对象的简单gui   java有没有办法使用Gradle将Kotlin类编译成JavaScript?   java如何防止Spring应用程序上下文关闭,直到启动关闭挂钩   Java:在o(1)空间和o(n)时间中反转字符串   java如何使用comparator按值对TreeMap排序   PHP和Java Unix时间戳之间的差异   java Curl到rest-assured API   java如何在使用okhttp请求POST时避免获取captcha错误   java如何将媒体存储目录导出到操作视图中?   Tomcat找不到Java servlet的开发版本   在jsp中,生成pdf我得到一个java。lang.IllegalStateException:流   如果在RESTAPI调用中找不到数据库中的数据,将返回哪个HTTP状态代码