【问题标题】:Wheel files : What is the meaning of "none-any" in protobuf-3.4.0-py2.py3-none-any.whl轮文件:protobuf-3.4.0-py2.py3-none-any.whl 中的“none-any”是什么意思
【发布时间】:2018-04-05 12:27:45
【问题描述】:

我使用 pip 为 numpy 获取 .whl 文件

pip wheel --wheel-dir=./ numpy

我得到了numpy-1.13.3-cp27-cp27mu-linux_armv7l.whl,因为我使用的是 ARM 平台,但是当为 protobuf 运行 pip 时

pip wheel --wheel-dir=./ protobuf

我收到了protobuf-3.4.0-py2.py3-none-any.whl

那么,为什么linux_armv7l 不像 numpy 的情况,我没有更改机器并搜索了差异但没有信息。

感谢您的建议。

【问题讨论】:

  • 另请参阅:stackoverflow.com/q/30438216/1959808 用于创建“通用”轮子(python3 setup.py bdist_wheel 默认创建 py3 轮子。python3 setup.py bdist_wheel --universal 会创建 py2.py3 轮子,如果可能)。

标签: pip protocol-buffers armv7 python-wheel


【解决方案1】:

让我们按组件拆分包名称:

  • numpy — 包名
  • 1.13.3 — 软件包版本
  • cp27 — 该包已编译为与此版本的 Python 一起使用
  • cp27mu — 编译标志
  • linux — 操作系统
  • armv7l — 处理器架构

这意味着包numpy 包含用C 编写并针对特定处理器、操作系统和Python 版本编译的二进制扩展。

以下包是纯Python:

  • protobuf — 名称
  • 3.4.0 — 版本
  • py2.py3 — 包以高度可移植的方式编写,适用于 Python 的两个主要版本
  • 无 — 不是特定于操作系统的
  • any — 适合在任何处理器架构上运行

【讨论】:

  • 感谢您的详细回答,但我能否获得 .whl protobuf 文件并针对特定架构(如 ARM7l)? ,或者取决于远程仓库。那个包?
  • 是的,这取决于作者发布的内容。 Google provides 二进制文件仅适用于 amd/intel 处理器上的 64 位 Linux。其余的 pip 下载可移植包并从源代码编译。
【解决方案2】:

车轮文件名是{distribution}-{version}(-{build tag})?-{python tag}-{abi tag}-{platform tag}.whl

分布

发行版名称,例如'django','金字塔'。

版本

发行版,例如1.0.

构建标签

可选的内部版本号。必须以数字开头。如果两个车轮具有相同的版本,则为决胜局。如果未指定,则排序为空字符串,否则排序 初始数字为数字,其余数字按字典顺序排列。

语言实现和版本标签

例如'py27'、'py2'、'py3'。

abi 标签

例如“cp33m”、“abi3”、“无”。

平台标签

例如'linux_x86_64','任何'。

reference is here.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-11
    • 2017-10-24
    • 1970-01-01
    • 2018-04-24
    • 2021-01-13
    相关资源
    最近更新 更多