../pypy3/bin/pip3 установить дать ОШИБКИ - PullRequest
0 голосов
/ 26 февраля 2019

Я использую pypy3 для компиляции проекта python, который связан с потоковым видео.Я хотел ускорить видео (хочу увеличить среднее количество кадров в секунду).

Чтобы запустить проект, мне нужно установить opencv-python, scipy, ffpyplayer и pyglet.

Iпопытался установить opencv, используя только pip, однако это не сработало (я испробовал почти все возможности).

После исследования я понял, что мне нужно использовать pip внутри папки pypy (../pypy3/bin/pip).Однако это выдает ту же ошибку, что «Не удалось найти версию, которая удовлетворяет требованию opencv-python (из версии:) Не найдено соответствующего распределения для opencv-python».Также scipy "ошибка: библиотека dfftpack имеет исходные коды Fortran, но не найден компилятор Fortran".

Кто-нибудь когда-нибудь использовал эти пакеты с pypy?Я попробовал в virtualenv и на своем компьютере тоже.

Пожалуйста, помогите мне с этим, так как я работаю над этим уже несколько недель.(Я пробовал на OSX и Windows)

1 Ответ

0 голосов
/ 27 февраля 2019

OpenCV на PyPI (откуда загружается pip) предоставляет только двоичные диски, скомпилированные для cpython, а не pypy.К сожалению, в настоящее время нет источника для бинарных колес для PyPy.На данный момент у вас нет действительно хороших опций (февраль 2019 г.):

  • Попробуйте скомпилировать из исходного кода CMake, исходный код OpenCV и PyPy, но я не ожидаю, что это произойдетработать из коробки.
  • Использовать эту альтернативу CFFI , которая не обновлялась долгое время
  • Использовать cpython для взаимодействия с OpenCV и каким-то образом передать результат PyPyчерез что-то вроде pymetabiosis но этот проект кажется неподдерживаемым

Вы профилировали свой код и определили, что python замедляет вас?Из названных вами пакетов я могу предположить, что проблема заключается в том, что вы просто пытаетесь сделать слишком много в каждом кадре или что вы не используете двойную буферизацию для чтения кадра при обработке предыдущего.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...