datactive / bigbang

Scientific analysis of collaborative communities
http://datactive.github.io/bigbang/
MIT License
154 stars 51 forks source link

simplify installation with conda/pip #421

Closed sbenthall closed 3 years ago

sbenthall commented 3 years ago

Drop conda support! just use pip!

Or should we?

sbenthall commented 3 years ago
  1. Conda installation today uses a environment.yml file. This tends to have pinned dependencies. It can be created automatically. It should replace conda-requirements.txt: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
  2. If there are dependencies that need to be taken from pip, then these should be in the requirements.txt file; conda-setup.sh should install from this file so we don't need to do as much file syncing.

That would be an incremental improvement over what we have now.

npdoty commented 3 years ago

I think environment.yml isn't as easy a cross-platform approach for conda installation and management as it might seem. See this, among others: https://stackoverflow.com/questions/39280638/how-to-share-conda-environments-across-platforms

npdoty commented 3 years ago

Good documentation here on how to use both conda and pip, including that pip should be used after conda, and storing requirements in text files: https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#using-pip-in-an-environment

sbenthall commented 3 years ago

Thanks @npdoty these links are helpful. My read is that:

npdoty commented 3 years ago

@sbenthall yeah, I think we can switch to environment.yml rather than conda-requirements.txt, as long as we follow the recommendations about platform independence (not using specific version pins unless necessary, probably using the --from-history flag, maybe we still have to update it manually sometimes).