点安装和平台专用轮

时间:2018-07-25 20:27:17

标签: python pip python-wheel

pip install如何选择要安装的轮子?

假设我已经为不同的平台构建了多个轮子,并将pip install <package>上传到PyPI会自动安装与平台匹配的正确轮子吗?

如果仅构建了Linux专用轮并上传到PyPI,并且Windows / Mac上有人尝试通过运行pip install <package>进行安装,会发生什么情况?

1 个答案:

答案 0 :(得分:3)

PIP遵循PEP 425 Use recommendations;规定了如何选择二进制分配轮。

具体来说,pip install将仅考虑兼容轮。不会下载与其他平台兼容的车轮。

如果没有兼容的轮子,但是有一个源代码发行版,那么该源代码发行版将在本地下载和编译。如果没有兼容的轮子,也没有源分配,则安装将失败。

车轮也可以为纯python 项目构建,这时它们不再是特定于平台的;这些被称为通用车轮。如果项目使用可选二进制组件,则可以选择生成特定于平台的转盘(包括特定于Python ABI版本和平台的已编译二进制组件)以及不包含可选已编译组件的通用转盘。 。如果当前平台没有兼容的二进制版本,则安装程序可以选择通用版本。但是,这并不是很普遍,因为万向轮比信号源分配器更受欢迎!