Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tarball downloaded via pip install #12

Closed
das7pad opened this issue Feb 13, 2019 · 5 comments · Fixed by #16
Closed

tarball downloaded via pip install #12

das7pad opened this issue Feb 13, 2019 · 5 comments · Fixed by #16

Comments

@das7pad
Copy link

das7pad commented Feb 13, 2019

I am not sure yet who to blame, but the wheel is not always downloaded via pip install imageio-ffmpeg.

This combination for example downloaded the tar ball instead.

  • pip==18.1 (previous major release)
  • wheel==0.32.0 (latest)
  • imageio-ffmpeg==0.2.0

Demo in docker for a 100% clean environment:

$ docker run --rm --tty python:3.7 bash -c "\
   pip install pip==18.1 wheel==0.33.0 \
&& pip install imageio-ffmpeg==0.2.0 \
&& find /usr/local/lib/python3.7/site-packages/imageio_ffmpeg/binaries/"
# <snip>
# /usr/local/lib/python3.7/site-packages/imageio_ffmpeg/binaries/
# /usr/local/lib/python3.7/site-packages/imageio_ffmpeg/binaries/README.md

Related issue: Zulko/moviepy#906

@almarklein
Copy link
Member

The binary wheels for Linux are for manylinux2010_x86_64. The manylinux2010 in essentially a specification for the Linux base libraries (e.g. glibc). It could be that the Docker image that you're using does not match these requirements. Or maybe its not x86_64?

The reason that the wheels are manylinux2010 and not the older manylinux1 is because of the glibc version that our current prebuild ffmpeg is build against.

My advice would be to add apt-get install ffmpeg (or similar) in the Docker recipe. Imageio-ffmpeg will also pick up the system ffmpeg.

@das7pad
Copy link
Author

das7pad commented Feb 13, 2019

I am running docker on a x86_64 platform and so is the container i guess - uname reports it at least.

$ docker run --rm python:3.7 uname -a
# Linux 55917967f168 3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29 14:49:43 UTC 2018 x86_64 GNU/Linux

I used docker to ensure a clean environment. Installing ffmpeg is not always an option, that's why we package it here. In the docker context it would be fine in most cases.

This is the same docker image, but we are installing the latest version of pip this time.

$ docker run --rm --tty python:3.7 bash -c "\
   pip install pip==19.0.2 wheel==0.33.0 \
&& pip install imageio-ffmpeg==0.2.0 \
&& find /usr/local/lib/python3.7/site-packages/imageio_ffmpeg/binaries/"
# <snip>
# /usr/local/lib/python3.7/site-packages/imageio_ffmpeg/binaries/
# /usr/local/lib/python3.7/site-packages/imageio_ffmpeg/binaries/ffmpeg-linux64-v4.1
# /usr/local/lib/python3.7/site-packages/imageio_ffmpeg/binaries/README.md

So there is a compatibility issue with this package and pip<19.

@almarklein
Copy link
Member

Oh, thanks for looking into this. It could simply be that pip<19 is unaware of manylinux2010.

@almarklein
Copy link
Member

I added a note to the readme.

@jayvdb
Copy link

jayvdb commented Mar 4, 2019

You could add setup_requires=['pip>19']

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants