As we all know, dealing with C extensions is pretty unruly and it's nice that setup.py is flexible in this regard. However, because this package's setup.py imports PyTorch, it causes all sorts of havoc with downstream code when you include torch_scatter in your own requirements. This usually leads to instructions to iteratively (manually) install PyTorch then some downstream stuff.
I think there's a solution available to alleviate this: use a pyproject.toml to specify build requirements so you can simply pip install this package without torch already installed. This was demonstrated for a different kind of package in kivy/pyjnius#594
I'll submit a PR to demonstate
As we all know, dealing with C extensions is pretty unruly and it's nice that
setup.pyis flexible in this regard. However, because this package'ssetup.pyimports PyTorch, it causes all sorts of havoc with downstream code when you includetorch_scatterin your own requirements. This usually leads to instructions to iteratively (manually) install PyTorch then some downstream stuff.I think there's a solution available to alleviate this: use a
pyproject.tomlto specify build requirements so you can simply pip install this package withouttorchalready installed. This was demonstrated for a different kind of package in kivy/pyjnius#594I'll submit a PR to demonstate