lanl / PyBNF

An application for parameterization of biological models available in SBML and BNGL formats. Features include parallelization, metaheuristic optimization algorithms, and an adaptive Markov chain Monte Carlo (MCMC) sampling algorithm.
Other
22 stars 18 forks source link

Pre-compiled Binary #212

Open emitra17 opened 6 years ago

emitra17 commented 6 years ago

Want to distribute a pre-compiled binary. Specifically, want the advantages

  1. Streamlined installation for users not familiar with Python package management
  2. Dependencies of PyBNF can't release updates that break PyBNF
emitra17 commented 6 years ago

Pyinstaller (https://medium.com/dreamcatcher-its-blog/making-an-stand-alone-executable-from-a-python-script-using-pyinstaller-d1df9170e263) seems promising, but has errors on the first try. Probably worth hacking at more.

emitra17 commented 6 years ago

Pyinstaller seems to have random levels of success depending on details of the Python configuration. For me, my configuration on akt makes it the farthest: successfully builds an executable, but that executable fails with FileNotFoundError: [Errno 2] No such file or directory: '/tmp/_MEIdvifMD/distributed/distributed.yaml'

emitra17 commented 6 years ago

The not found file is something that was added to distributed in a later version than what is installed on akt, so this is still a package versions problem.

I think the most likely path to success might be to work starting from a completely clean python install, and install current versions of only what is needed.

ryants commented 6 years ago

you can use virtiualenv or conda environments to achieve this result without nuking your default python install

ryants commented 6 years ago

I ran into the same issue with distributed.yaml when using a fresh python environment and all the most recent packages installed via pip

ryants commented 6 years ago

This could be a problem. Dask is not in https://github.com/pyinstaller/pyinstaller/wiki/Supported-Packages

Maybe can add this manually?