0

我正在使用 pypy3 编译与视频流相关的 python 项目。我想加快视频速度(想增加每秒平均帧数)。

要运行该项目,我需要安装 opencv-python、scipy、ffpyplayer 和 pyglet。

我尝试仅使用 pip 安装 opencv,但是它不起作用(我尝试了几乎所有可能性)。

经过研究,我发现我必须在 pypy 文件夹(../pypy3/bin/pip)中使用 pip。但是,它给出了相同的错误“找不到满足 opencv-python 要求的版本(来自版本:)没有为 opencv-python 找到匹配的发行版”。还有 scipy “错误:库 dfftpack 有 Fortran 源但没有找到 Fortran 编译器”。

有没有人用 pypy 使用过这些包?我也试过在 virtualenv 和我的电脑上。

请帮助我,因为我已经为此工作了几个星期。(我在 OSX 和 windows 上试过)

4

1 回答 1

0

PyPI 上的 OpenCV(从其中下载 pip)仅提供为 cpython 而不是 pypy 编译的二进制轮子。不幸的是,目前没有 PyPy 的二进制轮子的来源。在这个时间点(2019 年 2 月),您真的没有任何好的选择:

  • 尝试使用 CMake、OpenCV 源代码和 PyPy 从源代码编译,但我不希望它开箱即用。
  • 使用这个很久没有更新的CFFI替代品
  • 使用 cpython 与 OpenCV 交互,并以某种方式通过 pymetabiosis 将结果传递给 PyPy,该项目似乎不受支持

您是否分析过您的代码并确定 python 正在减慢您的速度?从您命名的包中,我想问题是您只是试图在每一帧中做太多事情,或者您在处理前一帧时没有使用双缓冲来读取一帧。

于 2019-02-26T21:29:36.003 回答