Fighting with dependencies sucks when you aren’t intimately familiar with the ecosystem: python, node and other js, and even go.
Fighting with dependencies sucks when you aren’t intimately familiar with the ecosystem: python, node and other js, and even go.
P.S. -- Even if you are on Windows, whole SciPy ecosystem can be easily installed with pipenv, no need of conda for that now.
What benefits does pipenv have beyond storing the hashes as well? In what way is it more sane? For example, does it get around the issues with, e.g., matplotlib being installed in a virtualenv?
If you are happy with your pip and venv workflow you can happily ignore pipenv, I personally prefer it because:
- It combines all the features of pip and venv with a better UI(in my opinion).
- I can specify my environments in more detail using Pipfile [https://docs.pipenv.org/advanced/#specifying-basically-anyth...]
- It is integrated with pyenv [https://docs.pipenv.org/advanced/#automatic-python-installat...]
- The promise of deterministic builds
Oftentimes with ML and compute-intensive workloads, performance is an aspect of correctness. It is nontrivial to get the right accelerated libraries, and the right GPU libraries linking against the right Numpy version for the particular notebook you're running.
If you are doing work just for yourself, or if you have total control over the deployment environment (and your collaborator's environments), then you might be able to get away with just using pip for these things.
Standard procedure, takes two minutes and I have a Jupyter notebook up, smartly automated base processes for dependency management, full control of environment variables and can deploy/ integrate this in any other Python setup (if I were to port IPython code to pure Python).
Is this more a thing of each his own or am I missing a crucial advantage of Anaconda?
[1] https://github.com/kennethreitz/autoenv [2] https://github.com/jazzband/pip-tools [3] https://github.com/pyupio/pyup
I've been to enough software carpentry talks where people nod and smile, and then promptly ignore the "how to be a responsible developer" advice. They don't care. They just want to run Python and plot some stuff or classify some data without worrying about multiple CLI tools. People seem to accept Anaconda because it comes across as a monolith and it's easier to understand for new programmers than virtualenvs and worrying about pinning pip installs.
That said, I don't use Anaconda on Mac or Linux.
What if a data scientist could deploy models right from browser?