Closed
Description
Originally posted by @mboisson in #8606 (comment)
Here are what we can and can not do, in our environment (HPC clusters).
- We can't run a server. This is for HPC clusters which are not under our control. The only thing we distribute is a filesystem. We can't long-standing processes and we don't control the network.
- We can't run binary (manylinux or other) wheels from PyPI for two primary reasons reasons: missing libraries or libraries installed in non-standard locations, non-optimized CPU instructions
- We can't host all of PyPI, that's just too much, and pure-python wheels work just fine.
- We can't change our requirement files/install differently, because we aren't the ones doing the installation. We support end users (researchers), we don't do their works, they install whatever package they need.
What we can do, and have been doing:
- Provide users a directory with wheels that we compile from source
- Define a
PIP_CONFIG_FILE
in the user's environments to make sure theirpip install ...
commands use some settings. We have been using this to point theirpip
to our wheel directory, which used to be preferred over pypi. We are now also using that to put a constraint on pip < 21, since that's now broken for us.