微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以为特定操作系统创建 pip 包?

如何解决是否可以为特定操作系统创建 pip 包?

我只是想知道这是否可能。例如,假设我只想为 Linux 构建一个 pip 包,或者为 Windows 和 Mac 构建一个 pip 包但不包括 Linux,是否可以这样做?还是所有 pip 包在发布后都可用于所有 3 个平台(Windows、Mac 和 Linux)?

再举一个例子,假设 Stripe 想要发布其 Python SDK 并通过 pip 使其仅适用于 Python 用户,这可能吗?

我绝对会感谢所有答案,因为我很想知道这是否可行!我只是想知道这是否可能。感谢那些做出回应的人。

解决方法

您必须同时考虑 sdistwheel 分布。

对于sdist,您无能为力,它们是多平台时期。您可以在 setup.py 中添加安全保护,以便在某些平台上运行它会失败,但这远非优雅。最佳做法是通过“trove classifiers”明确记录您的项目仅适用于特定平台,例如通过您的 long_description 和/或 README。 >

对于wheel,你可以让它只构建特定于平台的轮子,这是轮子擅长的事情之一:

但最佳实践建议您在任何情况下也发布 sdist,因此在其他平台上,安装程序将回退到 sdist

总而言之,您可以构建特定于平台的wheels,但不能构建特定于平台的sdist。正确记录您的项目(使用 trove 分类器)以声明支持哪些平台。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。