sys-bio / roadrunner

libRoadRunner: A high-performance SBML simulator
http://libroadrunner.org/
Other
39 stars 24 forks source link

Document roadrunner python wheels (e.g. for use in linux Arch) #962

Closed matthiaskoenig closed 7 months ago

matthiaskoenig commented 2 years ago

For some linux distributions/kernels the python pip packages via pypi are not working (i.e. they are not recognized as install candidates). E.g. on Arch libroadrunner cannot be installed via pip. The workaround/solution is to download the build artifacts from the Azure pipeline and install them with pip. These wheels are available from the releases, e.g., https://github.com/sys-bio/roadrunner/releases/tag/v2.2.0

These wheels should be mentioned in the roadrunner documentation with a sentence about the installation. I.e. something along the line of:

If no install candidates exist for your distribution you can try to install one of the prebuild wheels available from the github releases https://github.com/sys-bio/roadrunner/releases. These should work on most linux architectures, but have not been tested on all of them. E.g. to use libroadrunner in Arch linux with python 3.9 install the following wheel with pip

pip install libroadrunner-2.2.0-cp39-cp39-manylinux2014_x86_64.whl
luciansmith commented 2 years ago

My guess is that Arch is telling you there will be problems if you install with pip, and you shouldn't do it. If so, getting the pip wheels directly won't help, as the underlying problems will still exist.

matthiaskoenig commented 2 years ago

Arch says, there is no package on pip, but downloading the wheel manually and installing it works without issues. I.e. roadrunner works via wheels on Arch, but cannot be installed via pip. So people on Arch (or other linux distributions not supported via pip) just have to know about the wheels. This is just a documentation issue.

CiaranWelsh commented 2 years ago

I've just noticed that Miniconda provide distributions for Linux-x64 and Linux-aarchx64. Do you think if we were to switch to the Linux-aarchx64 version this problem would be resolved? Or perhaps we'd just cause the same problem but on a different subset of linux machines.

My second thought on this regarding the PEP425 compatibility tag that we are using. We manually rename our linux builds to manylinux2014, which is what they are built. Pip won't accept wheels named simply with "linux" anymore. I wonder if there is a different tag that would be accepted for a wider variety of linux platforms?

luciansmith commented 9 months ago

Does Arch still behave like this? Does it require some other tag in order to install from pip?

matthiaskoenig commented 7 months ago

Closing this. Is solved.