sys-bio / sbml2matlab

An SBML to MATLAB Converter
Other
1 stars 0 forks source link

pip install package #2

Open matthiaskoenig opened 8 years ago

matthiaskoenig commented 8 years ago

There has to be an installable python pip package. Currently it is impossible to create a python virtualenv virtual environment which would provide the functionality of sbml2matlab. The reason is that the pip dependencies are not available for the following packages:

Analogue to

python-libsbml

which allows an easy install of libsbml via

pip install python-libsbml

It should be possible to do a

pip install python-sbml2matlab

see also https://github.com/sys-bio/tellurium/issues/81

0u812 commented 8 years ago

Unfortunately, I don't think there is a way to do this with pip. We have a lot of binary packages and even something as simple as sbml2matlab has a libsbml dependency. Our other packages have even more binary dependencies. There are numerous problems with building our packages from source via a pip install:

For these reasons, building from source is out of the question.

The only pip format that supports binary packages AFAIK is wheel. However, wheel doesn't support Linux binaries (so it wouldn't help you anyway) and defeats the point of having a cross-platform package in the first place.

The only feasible solution right now is to use conda (which I do intend to make packages for). I sympathize with the idea of using community-based standards like wheel, but if they're not going to implement a decent cross-platform binary format then it's unusable for our Tellurium packages.

If you don't want the bloat of the full Anaconda install, then microconda is always an option.

matthiaskoenig commented 8 years ago

Hi Kyle, I can live with that. As long as I can build all the libraries separately on linux I am happy and it is all I need. When I find time I will provide some docker environment for linux, i.e. empty Ubuntu with build/install scripts for all the packages which will mainly reproduce/snapshot the environment I am working on.

With conda packages this issue is solved.