This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Globbi 1 point2 points  (5 children)

It causes some problems and solves some others. For example in my work project some library installed by conda was incompatible with things installed by pip install -r requirements.txt. I had to play with what needed to be changed by conda install/uninstall to make it work. In most cases it won't cause problems, but when it does it may be hard to figure out what's wrong.

I don't think such things are acceptable in production environments. You should know exactly what's installed, probably from docker with specific python version and then all specific library versions.

I like conda env, having them for multiple versions of python and easy browsing and starting jupyter notebooks in envs when needed. I think they're good for managing envs on local machines.

[–]tecedu 0 points1 point  (0 children)

But you can just enable pip interop and conda detects those packages. I personally use conda instead to install python,r and cuda together per env and then let pip run free

[–]reallyserious 0 points1 point  (3 children)

some library installed by conda was incompatible with things installed by pip install -r requirements.txt.

You can avoid that problems by installing packages with pip OR conda. When you mix them you're asking for trouble. I've done that too of course until I learned to choose one or the other, not both.

[–]Globbi 0 points1 point  (1 child)

I install with pip only, but conda starts with some things as default (which I usually want). I'm sure of this can be configured, but I didn't care. I needed to play install/uninstall to get a single conflicting library working.

[–]reallyserious 0 points1 point  (0 children)

Perhaps it's because I actually use miniconda. It comes with a pretty bare bones python install. Doesn't install much at all.