larsgeb / hmclab

BSD 3-Clause "New" or "Revised" License
23 stars 0 forks source link

What framework to use to guarantee a consistent programming environment? #2

Closed larsgeb closed 5 years ago

larsgeb commented 5 years ago

Lars:

Anaconda is a framework which manages a local (only in the working directory) Python version with all necessary packages. This is to make the code machine independent, for both users and us. It contains not only the packages to run the code (e.g. numpy, scipy) but also the tools needed to compile the documentation (Sphinx). Miniconda is just a lightweight version of the same tool. Instructions for the setup of both /conda's/ can be directly found on the GitHub repository page.

Andrea:

[Anaconda is] the best for Python on Macs and Windows, but not everybody uses it. For instance, am running Debian and I simply use the Python versions provided by Debian repositories, so I think Anaconda it's nice but maybe should not be strictly required, only optional. In my system, installing Anaconda would actually create problems. To create the virtual environment maybe we could work simply with "virtualenv" from Python (does not require Anaconda but I guess is part of Anaconda)?

larsgeb commented 5 years ago

I think I prefer to ensure that both frameworks work with the project. Virtualenv is not part of Anaconda, but they work similarly, to my understanding.

larsgeb commented 5 years ago

Right now, I have added the files required by VirtualEnv with instructions in the README. Both frameworks are supported now. Tests in TravisCI also run with both frameworks. Implemented in commits 688949d84398d40b4c74e066943c4dc7c07a6aec, a7a3e58e7bfdcb2430993809ce989397e437ce1d and 086e5bffe9c046157a74c8d0da9517ef9e565293.