对于Linux、windows等,人们可以使用相同的python包(轮转文件)吗?我之所以问这个问题,是因为有些包不仅包括python文件,而且还包括EXEs,我认为它是python代码变成了exe (至少使用了pip.exe和Django管理工具)。Exe文件是特定于平台的,就像windows和Linux有单独的python解释器一样,因此出现了一个问题。
发布于 2018-05-10 20:53:28
有些车轮包是跨平台的,有些是平台特有的.
这个信息包含在车轮的名字中。对于示例
pytz-2018.4-py2.py3-none-any.whl (510kB)这个py2.py3意味着它可以在任何Python2.x和3.x实现中工作,而none-any意味着它可以在任何平台上工作。这一个更具体:
numpy-1.14.3-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl这个cp36-cp36m意味着它只在CPython 3.6中工作,而macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64意味着它是为x86_64 macOS 10.9-10.10版本构建的。(粗略地说,这是macOS的最低版本和推荐版本;大多数其他平台并不是那么复杂。)
包之所以特定于平台,最常见的原因是它包含了case扩展模块,就像numpy一样。但可能还有其他原因。例如,它可能包括subprocess的本机可执行文件,或者使用ctypes访问系统API等等。
发布于 2018-05-10 20:53:18
Python是一种打包格式,而不是执行格式。它基本上是一个.zip文件。
此外:
https://packaging.python.org/discussions/wheel-vs-egg/ ...when发行版只包含Python (即没有编译的扩展名),并且与Python2和3兼容,轮毂可能是“通用的”,类似于sdist。
来自同一链接:
单轮存档可以表明它与许多Python语言版本和实现、ABI和系统架构的兼容性。
换句话说,“轮子”格式被设计成尽可能便携.它还允许您根据需要包括特定于平台的内容。
https://stackoverflow.com/questions/50281252
复制相似问题