imageio / imageio-ffmpeg

FFMPEG wrapper for Python
BSD 2-Clause "Simplified" License
221 stars 50 forks source link

Setup requires pip > 19 #59

Closed honorspren000 closed 10 months ago

honorspren000 commented 2 years ago

We are building imageio-ffmpeg from source with Python 3.6, which comes bundled with Pip 18. Imageio-ffmpeg requires pip > 19.

The problem is that imageio-ffmpeg won't build, even from source, because we don't meet the pip requirements. Technically, imageio-ffmpeg can be built and installed from source without pip.

We work in an offline environment, so I can work around this by downloading an updated version of Pip from a computer with network access, and then transferring it to the offline computers, but it would be nice to have that build requirement removed, or even downgraded, since it's not technically necessary.

almarklein commented 2 years ago

The reason for requiring pip 19 is this: #12

Would it be possible, as a workaround, to remove that line from setup.py?

almarklein commented 2 years ago

Any thoughts on this? In short, the pip version requirement is there for a reason, so let's figure out a way to cover your case. I could also imagine an env var perhpas, but if you are able to solve this locally e.g. by simply removing the line that defines the pip-requirement, that would be easier.

tjni commented 10 months ago

I ran into this when making some changes to nixpkgs. We used to include pip in the environment but no longer do (we now use build to build packages and installer to install packages). In my opinion, pip shouldn't be listed in setup_requires because it is not used to build the package. Of course, it's often used to install the package, but I'm not aware of a way for the package to define requirements on the install tool.

Using setup_requires to ensure pip users are not using a version that is too old might be a good practical decision, so I don't know if it should be removed. We'll do so by patching the source ourselves in the meantime, and maybe it's a decision that can be revisited when the minimum Python version is increased.

almarklein commented 10 months ago

I think by now very few people have a version of pip that old, so it's not really a relavant problem anymore. (Correct me if I'm wrong.)

almarklein commented 10 months ago

Oh wait, I misread. I think what I mean is that we can release the restriction.