coin-or / python-mip

Python-MIP: collection of Python tools for the modeling and solution of Mixed-Integer Linear programs
Eclipse Public License 2.0
525 stars 92 forks source link

Delete binaries for other operating systems at install time #124

Open jurasofish opened 4 years ago

jurasofish commented 4 years ago

when mip is installed it comes with binaries for windows, mac, and linux. These are very large - in my experience making mip larger than even numpy or pandas!

It would be good to delete the binaries for the other operating systems during installation of the package - perhaps something inside setup.py.

This is highly relevant to serverless computing environments which often have severely limited disk space, and it's a hassle to do this manually.

Any thoughts on whether this change would be problematic? I should be able to chuck through a PR for it some time.

h-g-s commented 4 years ago

Hi @jurasofish . I agree. I was thinking in an alternative to install ONLY the platform specific files.
If seems that in setup.py you can specify platform specific dependencies. If we separate mip in four packages: mip cbc-mip-bin-win64 cbc-mip-bin-linux64 cbc-mip-bin-osx64

Then we could specify platform specific dependencies. What do you think @tuliotoffolo ?

tuliotoffolo commented 4 years ago

Let's do it, @h-g-s! In the future, we should also remove the binaries from the repo.