首页 > 解决方案 > 安装包含二进制文件的轮子时出现问题

问题描述

我为使用 Cython 并链接到 C 库的项目构建了一些轮子。Wheels 正在为 Linux、MacOSX 和 Windows 上的 py35-38 构建。车轮似乎构造良好,并且测试正常。它们被上传到 PyPI(或在本例中为 TestPyPI),但我在各种系统上安装的结果不一致。更具体地说,安装后,我在某些系统上导入包时遇到问题。错误是ImportError: No module named 'primesieve._primesieve'

在我遇到问题的那些系统上,编译的二进制文件由于某种原因没有安装。当我下载并检查轮子时,它包含预期的二进制文件。但由于某种原因,这些二进制文件没有被复制。在安装期间通过 pip 进行的完整详细日志记录没有显示任何有用的信息。

即使在制造车轮的系统和环境中也会发生这种情况。这似乎表明问题不是由于缺乏兼容性或不匹配造成的。

这是一个示例轮子。

为什么在安装过程中没有复制二进制文件?

非常感谢任何帮助。

标签: pythonpipcythonpython-wheel

解决方案


事实证明,这是一个用户错误的情况。我正在从 repo 目录执行命令,然后该命令将从当前目录而不是从已安装的包中导入,因此找不到已编译的文件。请参阅此处了解更多信息。


推荐阅读