【问题标题】:How do I know why a wheel is not supported on a platform?我怎么知道为什么平台不支持轮子?
【发布时间】:2019-12-04 17:02:41
【问题描述】:

我正在尝试安装 Cairo(一个 2D 图形库)。我之前没有使用过任何.whl(至少不是手动),我不明白我收到的错误消息。我下载了pycairo-1.18.2-cp38-cp38-win32.whl 并尝试pip3 install 但我收到以下错误:

ERROR: pycairo-1.18.2-cp38-cp38-win32.whl is not a supported wheel on this platform.

据我所知,我的轮子版本正确,因为我的 Python 是

Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)] on win32

我用来得到这个错误的命令是

pip3 install [full path to the .whl file in my Downloads]

有什么想法我可能在这里做错了吗? Here's 我从那里下载了 wheel 文件。 (还有其他选择,但我相信我选对了。)

编辑1:

安装 Pycairo 需要 pkg-config 和 cairo 包括它的 标题。

现在正在研究如何获得这些...

【问题讨论】:

  • cp38-win32 表示它是用于 32 位 Python 的 CPython 3.8 的轮子。您向我们展示了您的 Python 是 3.8,但它是 32 位的吗? python -c "import struct; print(struct.calcsize('P') * 8)"。那么pip 呢? pip3 --version.
  • python -c "import struct; print(struct.calcsize('P') * 8)" 打印 32pip3 --version 打印 pip 19.3.1。此外,我解决了这个问题(参见 EDIT1)。原来我只是不知道 pycairo 到底是什么。我的系统中没有 pycairo 所依赖的实际 Cairo 软件。那里错过了一级。不过谢谢!

标签: pip python-wheel pycairo


【解决方案1】:

更新

使用最新版本的 pip,可以调用 path/to/pythonX.Y -m pip debug --verbose,它应该会打印该 Python 解释器的兼容标签列表(以及其他内容)。


我如何知道为什么某个平台不支持轮子?

关于 Python 轮子标签的一些技术细节

假设您安装了项目packaging,您可以通过以下方式获取您的环境支持的所有wheel标签的列表:

python3 -c "import packaging.tags; print(list(packaging.tags.sys_tags()))"

【讨论】:

  • @AravindSuresh 这应该打印一些东西,我不知道你的设置有什么不同。使用最新版本的 pip,可以调用python -m pip debug --verbose,它还应该打印兼容标签列表(除其他外),也许你可以试一试
  • 似乎问题在于我还没有安装packaging。现在可以了。
猜你喜欢
  • 1970-01-01
  • 2017-03-14
  • 1970-01-01
  • 2017-07-16
  • 1970-01-01
  • 2016-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多