python - 安装包含二进制文件的轮子时出现问题
问题描述
我为使用 Cython 并链接到 C 库的项目构建了一些轮子。Wheels 正在为 Linux、MacOSX 和 Windows 上的 py35-38 构建。车轮似乎构造良好,并且测试正常。它们被上传到 PyPI(或在本例中为 TestPyPI),但我在各种系统上安装的结果不一致。更具体地说,安装后,我在某些系统上导入包时遇到问题。错误是ImportError: No module named 'primesieve._primesieve'
在我遇到问题的那些系统上,编译的二进制文件由于某种原因没有安装。当我下载并检查轮子时,它包含预期的二进制文件。但由于某种原因,这些二进制文件没有被复制。在安装期间通过 pip 进行的完整详细日志记录没有显示任何有用的信息。
即使在制造车轮的系统和环境中也会发生这种情况。这似乎表明问题不是由于缺乏兼容性或不匹配造成的。
这是一个示例轮子。
为什么在安装过程中没有复制二进制文件?
非常感谢任何帮助。
解决方案
事实证明,这是一个用户错误的情况。我正在从 repo 目录执行命令,然后该命令将从当前目录而不是从已安装的包中导入,因此找不到已编译的文件。请参阅此处了解更多信息。
推荐阅读
- android - 从第二个活动向活动添加片段
- python - 两个时间之间有多少小时?(不支持的操作数类型 -:'datetime.time' 和 'datetime.time')
- php - 如何将数组值从一个数组移动到另一个数组
- android - 无法在 Android 上接收 Pushy 推送通知
- php - 使链接在 30 分钟后或使用后无效
- angular6 - Angular 6 文件上传与其他表单数据
- visual-studio-code - VS Code 是否有一个热键来翻转表达式(例如“a && b”到“b && a”)?
- c# - 如何使用实体框架在 C#、ASP.NET MVC 3 中获取两个日期之间的记录?
- kubernetes - 指定 --nodes、master-size 等选项时,Jenkins-x 集群设置失败
- python - 在 Python 中合并多个 .txt/csv 文件